Thứ Hai, 24 tháng 7, 2023

Lệnh GOTO trong Oracle

Trong bài này mình sẽ giới thiệu lệnh AUTO trong Oracle, lệnh này dùng để nhảy chương trình đến một vị trí cụ thể nào đó. Nếu bạn đã từng học qua các ngôn ngữ lập trình như C/C++, PHP thì sẽ thấy lệnh này tương đối ít dùng bởi khó quản lý chương trình, thay vào đó sẽ dùng IF ELSE thì tốt hơn.

Mục lục

  • 1. Lệnh GOTO trong Oracle
  • 2. Ví dụ lệnh GOTO trong Oracle
  • 3. Lời kết

1. Lệnh GOTO trong Oracle

Chúng ta cần phải khai báo tên nhãn, đây sẽ là vị trí mà goto sẽ trỏ đến và bỏ qua những đoạn code phía trên.

Đây là cách khai báo tên nhãn:

1
<<label_name>>

Bài viết này được đăng tại [free tuts .net]

Bạn chỉ cần đổi tên bên trong thôi nhé, còn cặp <<>> thì giữ nguyên. Tên label_name phải là duy nhất, nghĩa là bạn không được đặt 2 label trong một chương trình.

Và để nhảy tới một nhãn nào đó thì ta dùng lệnh sau:

1
GOTO label_name;

2. Ví dụ lệnh GOTO trong Oracle

Sau đây là ví dụ cách sử dụng lệnh GOTO trong Oracle, các bạn tham khảo nhé.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DECLARE
    fullname VARCHAR2;
     
SELECT customer_name INTO fullname
FROM customers
WHERE customer_id = 12;
         
IF fullname IS NULL THEN
    GOTO exit_sql;
ELSE
    GOTO continue_sql;
END IF;
 
<<continue_sql>>
INSERT INTO orders (customer_name) VALUES (customer_name);
 
<<exit_sql>>   
/*do nothing*/

Để rõ ràng hơn thì mình sẽ đưa ra ví dụ viết trong procedure như sau:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
CREATE OR REPLACE Function FindCourse
   ( name_in IN varchar2 )
   RETURN number
IS
   cnumber number;
 
   CURSOR c1
   IS
     SELECT MAX(course_number)
     FROM courses_tbl
     WHERE course_name = name_in;
 
BEGIN
 
   open c1;
   fetch c1 into cnumber;
 
   IF c1%notfound then
      GOTO default_number;
 
   ELSE
      GOTO increment_number;
   END IF;
 
<<default_number>>
   cnumber := 0;
 
<<increment_number>>
   cnumber := cnumber + 1;
 
   close c1;
 
RETURN cnumber;
 
END;

3. Lời kết

Trên là tất cả kiến thức về lệnh GOTO trong Oracle, hy vọng bài viết hữu ích và giúp bạn hiểu về lệnh GOTO này. Tuy trong các ngôn ngữ hạn chế sử dụng nhưng trong Oracle thì nó rất hữu ích.

=============================
* 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