Thứ Ba, 25 tháng 7, 2023

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.

1
2
3
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:

1
2
3
4
5
6
7
8
9
10
11
12
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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master