Ở 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 [kiso.vn]
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.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Giới thiệu cặp lệnh BEGIN – END2. BEGIN...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Giới thiệu cặp lệnh BEGIN – END2. BEGIN – END lồng nhau1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Giới thiệu cặp lệnh BEGIN – END2. BEGIN – END lồng nhauV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Giới thiệu cặp lệnh BEGIN – END2. BEGIN – END lồng nhauV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Giới thiệu cặp lệnh BEGIN – END2. BEGIN – END lồng nhauIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các...