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.
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:
<<label_name>>
Bài viết này được đăng tại [kiso.vn]
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:
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é.
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:
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.
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. Lệnh GOTO trong Oracle2. Ví dụ lệnh GOTO...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Lệnh GOTO trong Oracle2. Ví dụ lệnh GOTO trong Oracle3. Lời kết1. 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. Lệnh GOTO trong Oracle2. Ví dụ lệnh GOTO trong Oracle3. Lời kếtV. 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. Lệnh GOTO trong Oracle2. Ví dụ lệnh GOTO trong Oracle3. Lời kếtV. 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. Lệnh GOTO trong Oracle2. Ví dụ lệnh GOTO trong Oracle3. Lời kếtIII. 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...