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

Thủ tục lưu trữ cuộc gọi động (thực hiện ngay lập tức) Các tham số ra Sự cố

đây là thủ tục đơn giản

 create procedure test_proc(p_user varchar2, p_code varchar2, p_error varchar2) is
 begin
   p_error := p_user || p_code;
 end; 

mã gọi cho cùng ..

Declare
  v_test_proc varchar2(50) := 'test_proc';
  p_user      varchar2(50) := 'test_name';
  p_code      varchar2(50) := 'test_code';
  p_error     varchar2(100);
  v_sql       varchar2(2000);
begin
  v_sql := 'begin ' || v_test_proc || '( :1 ,:2, :3 ); end;';
  execute immediate v_sql
    using p_user, p_code, out p_error;
  dbms_output.put_line(p_error);
end;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi không nên tạo tất cả VARCHAR2 32767 byte chỉ PL / SQL của mình?

  2. ORA-01722:Số không hợp lệ, tìm dòng cụ thể

  3. Oracle SQL - Xoay các hàng trong bảng thành cột và sử dụng truy vấn phụ trong tổng hợp

  4. Câu hỏi phỏng vấn:Làm thế nào để lấy tổng hợp 3 tháng trước ở cấp cột?

  5. Thực hành thiết kế cơ sở dữ liệu cho phép vai trò người dùng tốt nhất?