Cách dùng BEGIN - END trong SQL Server - SQL Server nâng cao
Ở những bài trước học stored procedure mình có sử dụng rất nhiều lần cặp lệnh BEGIN - END, vậy đây là lệnh gì và có ý nghĩa như thế nào trong SQL Server thì chúng ta sẽ tìm hiểu trong bài này nhé. 1. Giới thiệu cặp lệnh BEGIN - END Lệnh BEGIN ... END dùng để khai báo một khối lệnh ...
Ở những bài trước học stored procedure mình có sử dụng rất nhiều lần cặp lệnh BEGIN - END, vậy đây là lệnh gì và có ý nghĩa như thế nào trong SQL Server thì chúng ta sẽ tìm hiểu trong bài này nhé.
1. Giới thiệu cặp lệnh BEGIN - END
Lệnh BEGIN ... END dùng để khai báo một khối lệnh SQL. Một khối lệnh là tập hợp những câu SQL sẽ được thực thi chung với nhau.
BEGIN
{ sql_statement | statement_block}
ENDBên trong khối lệnh BEGIN ... END sẽ là tập hợp một hoặc nhiều câu lệnh khác, điều này sẽ giúp tạo ra một chương trình có tính thẩm mỹ và rõ ràng.
Hãy xem ví dụ dưới đây:
BEGIN
SELECT
product_id,
product_name
FROM
production.products
WHERE
list_price > 100000;
IF @@ROWCOUNT= 0
PRINT 'No product with price greater than 100000 found';
ENDÝ nghĩa của khối lệnh này là trả về thông báo không tìm thấy sản phẩm nào nếu câu lệnh SELECT phía trên không có dữ liệu.
2. BEGIN - END lồng nhau
Bạn có thể sử dụng BEGIN ... END lồng nhau, nghĩa là khai báo cặp BEGIN ... END bên trong một cặp khác.
BEGIN
DECLARE @name VARCHAR(MAX);
SELECT TOP 1
@name = product_name
FROM
production.products
ORDER BY
list_price DESC;
IF @@ROWCOUNT <> 0
BEGIN
PRINT 'The most expensive product is ' + @name
END
ELSE
BEGIN
PRINT 'No product found';
END;
ENDNếu bạn là lập trình viên thì chắc chắn sẽ không xa lạ gì với khối lệnh. Ví dụ trong PHP, C#, C++ thì để định nghĩa một khối lệnh thì ta dùng cặp {}, trong PASCAL thì BEGIN ... END.
Như vậy là bạn đã hiểu cách tạo khối lệnh trong SQL Server rồi, bài này mình dừng ở đây, hẹn gặp bạn bài tiếp theo.