Cách dùng BEGIN - END trong SQL Server
Ở 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} END
Bê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:
Bài viết này được đăng tại [free tuts .net]
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; END
Nế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.