Saya memiliki prosedur tersimpan di oracle dan ingin mengujinya dari SQLPlus.
Jika saya menggunakan
execute my_stored_proc (-1,2,0.01)
Saya mendapatkan kesalahan ini
PLS-00306: wrong number or types of arguments in call to my_stored_proc
Awal untuk proc adalah ini
create or replace PROCEDURE my_stored_proc
( a IN NUMBER,
b IN NUMBER,
c IN NUMBER,
z out NUMBER
) AS ....
Apakah saya perlu menyediakan var untuk parameter out, bagaimana caranya? Saya sudah coba:
var z NUMBER;
Tapi mendapatkan error ini ketika saya mencoba menjalankan proc
execute my_stored_proc (-1,2,0.01,z)
PLS-00201: identifier 'Z' must be declared
Juga ketika saya berada di SQL-Developer itu memberi saya penggunaan dan itu menunjukkan input dalam urutan terbalik, yaitu:
execute my_stored_proc(z number,c number,b number,a number);
Apakah Anda menyediakannya dalam urutan terbalik atau apakah itu hanya sesuatu dengan SQL-Developer
Saya tidak menulis prosedur dan saya biasanya tidak berurusan dengan prosedur tersebut, jadi saya mungkin melewatkan sesuatu yang jelas.
Terima kasih
Anda lupa menempatkan z sebagai variabel pengikat.
Perintah EXECUTE berikut ini menjalankan pernyataan PL/SQL yang mereferensikan prosedur tersimpan:
SQL> EXECUTE -
> :Z := EMP_SALE.HIRE('JACK','MANAGER','JONES',2990,'SALES')
Perhatikan bahwa nilai yang dikembalikan oleh prosedur tersimpan sedang dikembalikan ke dalam :Z