Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

chuyển đổi sang PROCEDURE pl / sql

Tất cả những gì bạn cần thay đổi là DECLARE (cho biết sự bắt đầu của một khối ẩn danh) để CREATE PROCEDURE , với biến mà bạn hiện đang đặt thông qua biến thay thế làm đối số chính thức; vì vậy thay vì:

DECLARE
     veno  emp.empno%type:=&veno;
     vsal  emp.sal%type;
     vexp  number;
BEGIN
...
END;
/

Làm cho nó:

CREATE OR REPLACE PROCEDURE my_proc (veno IN emp.empno%type)
AS
     vsal  emp.sal%type;
     vexp  number;
BEGIN
...
END;
/

Sau đó, bạn có thể gọi nó từ một khối ẩn danh hoặc trong SQL * Plus hoặc SQL Developer với execute viết tắt:

set serveroutput on
execute my_proc(&veno);

Ví dụ này vẫn đang sử dụng một biến thay thế, vì vậy bạn sẽ được thăng hạng cho giá trị sử dụng, nhưng bạn cũng có thể chuyển trực tiếp một số.

Đọc thêm về cách tạo quy trình và các loại tham số .

Bạn có thể đơn giản hóa mã một chút để giảm sự lặp lại và yêu cầu; tra cứu biểu thức trường hợp và mệnh đề trả về. Nhưng điều đó không liên quan trực tiếp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham gia bên ngoài giúp đỡ trong oracle

  2. Chèn ngày vào Oracle

  3. Đếm số phần tử trong một chuỗi được phân tách bằng dấu phẩy trong Oracle

  4. Oracle:chọn giá trị lớn nhất từ ​​các cột khác nhau của cùng một hàng

  5. Các hàm một hàng trong Oracle sql