Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Prosedur Penyimpanan panggilan dinamis (eksekusi langsung) Masalah parameter keluar

di sini adalah prosedur sederhana

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

kode panggilan untuk ..

. yang sama
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. Pembaruan Oracle dari Pilih - tabel yang sama

  2. Cara Menginstal Pengembang SQL di Mac

  3. Oracle SQL - Kueri 2 tabel berdasarkan kunci asingnya

  4. Oracle Tidak Setara Operator

  5. fungsi listunagg?