Vì một số bài hướng dẫn trước đây là về Chương trình con PL / SQL như Hàm PL / SQL và Thủ tục lưu trữ, do đó, bắt buộc phải nói về các ký hiệu gọi của chúng. Việc học các khái niệm về Chương trình con PL / SQL sẽ không được coi là hoàn chỉnh cho đến khi chúng ta cũng học được các ký hiệu gọi của chúng.
Kí hiệu gọi cho chương trình con PL / SQL là gì?
Gọi ký hiệu là một cách cung cấp giá trị cho các tham số của chương trình con như hàm PL / SQL hoặc một thủ tục được lưu trữ.
Các loại ký hiệu gọi cho chương trình con
Trong Oracle PL / SQL có 3 kiểu ký hiệu gọi. Đây là:
- Ký hiệu Vị trí
- Ký hiệu được đặt tên và
- Ký hiệu gọi hỗn hợp
Ký hiệu cuộc gọi định vị
Ký hiệu vị trí là ký hiệu gọi phổ biến nhất mà bạn có thể thấy trong hầu hết mọi ngôn ngữ lập trình máy tính. Trong ký hiệu vị trí, chúng ta phải xác định giá trị cho mỗi tham số hình thức một cách tuần tự. Điều này có nghĩa là bạn phải cung cấp các giá trị cho các tham số chính thức theo thứ tự giống như chúng được khai báo trong thủ tục hoặc trong hàm.
Trong ký hiệu vị trí, kiểu dữ liệu và vị trí của tham số thực phải khớp với tham số chính thức.
Đọc đề xuất:Tham số thực tế so với Tham số chính thức
Ví dụ:Ký hiệu vị trí để gọi các chương trình con PL / SQL.
CREATE OR REPLACE PROCEDURE emp_sal (dep_id NUMBER, sal_raise NUMBER) IS BEGIN UPDATE employees SET salary = salary * sal_raise WHERE department_id = dep_id; DBMS_OUTPUT.PUT_LINE ('salary updated successfully'); END; /
Đây là ví dụ tương tự mà chúng tôi đã làm trong PL / SQL Tutorial 42 về cách tạo thủ tục được lưu trữ với các tham số mặc dù có một số thay đổi nhỏ. Bây giờ nếu chúng ta sử dụng ký hiệu gọi vị trí thì chúng ta phải cung cấp các giá trị cho cả hai tham số của thủ tục trên theo cùng một cách mà chúng được khai báo.
Lệnh gọi Thủ tục được Lưu trữ sử dụng ký hiệu vị trí trong Cơ sở dữ liệu Oracle
EXECUTE emp_sal(40,2);
Trong lệnh gọi thủ tục đơn giản này, giá trị 40 tương ứng với tham số chính thức dep_id và giá trị 2 tương ứng với tham số sal_raise.
Ký hiệu cuộc gọi được đặt tên
Ký hiệu gọi có tên cho phép bạn chuyển các giá trị cho các tham số chính thức bằng cách sử dụng tên của chúng. Điều này sẽ cho phép bạn chỉ định các giá trị cho các tham số bắt buộc hoặc bắt buộc.
Ký hiệu gọi này hữu ích khi bạn có một chương trình con với các tham số trong đó một số tham số đó là bắt buộc và một số là tùy chọn và bạn muốn chỉ chuyển các giá trị cho những tham số bắt buộc.
Nhà điều hành hiệp hội
Để gán giá trị cho các tham số chính thức bằng cách sử dụng tên của chúng, chúng ta sử dụng toán tử kết hợp. Nó là sự kết hợp của dấu bằng (=) và dấu lớn hơn (>). Chúng tôi viết tên của tham số hình thức vào bên trái của toán tử và giá trị mà bạn muốn gán cho bên phải của toán tử.
Ví dụ về Ký hiệu gọi có tên để gọi chương trình con PL / SQL
CREATE OR REPLACE FUNCTION add_num (var_1 NUMBER, var_2 NUMBER DEFAULT 0, var_3 NUMBER ) RETURN NUMBER IS BEGIN RETURN var_1 + var_2 + var_3; END; /
Hàm trên có 3 tham số. Trong số 3 tham số này, 2 tham số là bắt buộc và 1 là tùy chọn với giá trị mặc định là 0.
Bạn có thể gọi hàm này bằng cách sử dụng ký hiệu vị trí. Nhưng nó có một hạn chế mà bạn phải thực hiện và đó là bạn phải cung cấp các giá trị cho tất cả các tham số chính thức theo cùng một thứ tự mà chúng được khai báo và kiểu dữ liệu của các tham số chính thức và thực tế phải khớp nhau.
Vì vậy, nếu bạn muốn bỏ qua tham số tùy chọn và muốn sử dụng giá trị mặc định của chúng hoặc bạn vừa quên thứ tự của tham số mà chúng đã được khai báo! Khi đó, bạn sẽ hơi khó gọi chương trình con trên bằng cách sử dụng ký hiệu vị trí. Trong trường hợp như vậy, bạn có thể tận dụng Ký hiệu Gọi được Đặt tên. Ký hiệu gọi này sẽ cung cấp cho bạn sự linh hoạt mong muốn trong việc gọi các chương trình con của bạn.
Lệnh gọi hàm PL / SQL sử dụng Ký hiệu gọi có tên trong Cơ sở dữ liệu Oracle
DECLARE var_result NUMBER; BEGIN var_result := add_num(var_3 => 5, var_1 =>2); DBMS_OUTPUT.put_line('Result ->' || var_result); END;
Tôi đã giải thích chi tiết về lệnh gọi Hàm PL / SQL trong Video Hướng dẫn về cùng chủ đề này trên kênh YouTube của tôi.
Ký hiệu gọi hỗn hợp để gọi các chương trình con PL / SQL
Như tên gợi ý trong ký hiệu gọi hỗn hợp, bạn có thể gọi các chương trình con bằng cách sử dụng kết hợp các ký hiệu gọi có tên cũng như vị trí. Ký hiệu gọi hỗn hợp rất hữu ích khi danh sách tham số được xác định với tất cả các tham số bắt buộc đầu tiên và các tham số tùy chọn tiếp theo.
Ví dụ về ký hiệu gọi hỗn hợp để gọi các chương trình con PL / SQL
Đây là khối ẩn danh mà chúng tôi đang gọi cùng một hàm add_num () mà chúng tôi đã mã hóa khi thực hiện ký hiệu gọi có tên.
DECLARE var_result NUMBER; BEGIN var_result := add_num(var_1 => 10, 30 ,var_3 =>19); DBMS_OUTPUT.put_line('Result ->' || var_result); END;
Đó là cách chúng tôi sử dụng ký hiệu gọi hỗn hợp để gọi các Chương trình con PL / SQL.
Hãy tự mình thử
Sử dụng kiến thức từ các khái niệm trên, hãy thử giải quyết câu hỏi sau:
Viết một hàm PL / SQL với các tham số để hoán đổi hai số và gọi hàm đó bằng cách sử dụng ký hiệu gọi hỗn hợp.
Bạn có thể chia sẻ mã của mình hoặc ảnh chụp nhanh mã của bạn với tôi trên phương tiện truyền thông xã hội của tôi [Twitter // Facebook].
Hy vọng bạn thích đọc. Hãy chắc chắn để thích và chia sẻ blog này. Cảm ơn và chúc một ngày tốt lành.