rong bài này bạn sẽ được học một lệnh rất hay dùng để rẻ nhánh chương trình đó là lệnh IF ELSE. Lệnh IF ELSE được sử dụng rất nhiều trong procedure, trigger, function vì nó rất linh động khi xây dựng một chương trình phức tạp.
Mục lục
- 1. Lệnh IF
- 2. Lệnh IF ELSE
- 3. Lệnh IF ELSE lồng nhau
1. Lệnh IF
Lệnh if sẽ kiểm tra một biểu thức có đúng hay không, nếu đúng thì thực thi nội dung bên trong của IF, nếu sai thì bỏ qua.
1 2 3 4 | IF boolean_expression BEGIN { statement_block } END |
Trong đó:
- Nội dung bên trong
BEGIN ... END
chính là phần thân của lệnh IF. boolean_expression
là biểu thức điều kiện, nếu giá trị biểu thức là TRUE thì phần thân sẽ được chạy, ngược lại thì bỏ qua
Hãy xem ví dụ dưới đây:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | BEGIN DECLARE @sales INT ; SELECT @sales = SUM (list_price * quantity) FROM sales.order_items i INNER JOIN sales.orders o ON o.order_id = i.order_id WHERE YEAR (order_date) = 2018; SELECT @sales; IF @sales > 1000000 BEGIN PRINT 'Great! The sales amount in 2018 is greater than 1,000,000' ; END END |
Đoạn code này kiểm tra số tiền thu về trong năm 2008 có lớn hơn một triệu đô hay không, nếu hơn thì in ra thông báo "Great! The sales amount in 2018 is greater than 1,000,000".
2. Lệnh IF ELSE
Trường hợp điều kiện ở IF là false thì chương trình sẽ chạy ở phần ELSE.
1 2 3 4 5 6 7 8 | IF Boolean_expression BEGIN -- Statement block executes when the Boolean expression is TRUE END ELSE BEGIN -- Statement block executes when the Boolean expression is FALSE END |
Mỗi lệnh IF đều có biểu thức điều kiện, tuy nhiên phần ELSE thì không cần vì nó là phần sẽ chạy nếu như phần IF không thỏa. Hãy xem ví dụ dưới đây:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | BEGIN DECLARE @sales INT ; SELECT @sales = SUM (list_price * quantity) FROM sales.order_items i INNER JOIN sales.orders o ON o.order_id = i.order_id WHERE YEAR (order_date) = 2017; SELECT @sales; IF @sales > 10000000 BEGIN PRINT 'Great! The sales amount in 2018 is greater than 10,000,000' ; END ELSE BEGIN PRINT 'Sales amount in 2017 did not reach 10,000,000' ; END END |
Ví dụ này viết lại ở trên, tuy nhiên mình bổ sung phần xuất thông báo ra màn hình như sau: Nếu tổng tiền lớn hơn 1 triệu đô thì in ra thông báo "Great! The sales amount in 2018 is greater than 10,000,000", ngược lại thì in ra thông báo "Sales amount in 2017 did not reach 10,000,000".
3. Lệnh IF ELSE lồng nhau
IF ELSE lồng nhau tức là lệnh IF này nằm bên trong một lệnh IF khác, các sử dụng này sẽ giúp chương trình rẻ rất nhiều nhánh khác nhau.
Hãy xem ví dụ dưới đây:
1 2 3 4 5 6 7 8 9 10 11 12 | BEGIN DECLARE @x INT = 10, @y INT = 20; IF (@x > 0) BEGIN IF (@x < @y) PRINT 'x > 0 and x < y' ; ELSE PRINT 'x > 0 and x >= y' ; END END |
Như bạn thấy lệnh IF ELSE rất hữu ích vì nó giúp chúng ta kiểm soát chương trình một cách hiệu quả, giải quyết được nhiều bài toán phức tạp.
Nếu bạn là lập trình viên và đã từng học qua các ngôn ngữ như C, C++ thì không còn xa lạ gì với lệnh này, chỉ là cú pháp nó được thể hiện ở SQL Server hơi khác.
* 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