Я имею хранимую процедуру в оракуле и хочу протестировать ее от SQLPlus.
Если я использую
execute my_stored_proc (-1,2,0.01)
Я получаю эту ошибку
PLS-00306: wrong number or types of arguments in call to my_stored_proc
Начало для proc - это
create or replace PROCEDURE my_stored_proc
( a IN NUMBER,
b IN NUMBER,
c IN NUMBER,
z out NUMBER
) AS ....
Я должен обеспечить var для параметр, так как? Я попробовал:
var z NUMBER;
Но получите эту ошибку, когда я попытаюсь выполнить proc
execute my_stored_proc (-1,2,0.01,z)
PLS-00201: identifier 'Z' must be declared
Также, когда я был в Разработчике SQL, это дало мне использование, и это показывает исходные данные в обратном порядке, который является:
execute my_stored_proc(z number,c number,b number,a number);
Вы обеспечиваете их в обратном порядке, или то, что просто что-то с Разработчиком SQL
Я не записал процедуру, и я обычно не имею дело с ними так, я мог пропускать что-то очевидное.
Спасибо
У вас есть два варианта, блок PL / SQL или SQL * плюс переменные связывания:
var z number
execute my_stored_proc (-1,2,0.01,:z)
print z
Вы забыли поставить z как переменную связывания.
Следующая команда выполнения выполняет оператор PL / SQL, который ссылается на сохраненную процедуру:
SQL> EXECUTE -
> :Z := EMP_SALE.HIRE('JACK','MANAGER','JONES',2990,'SALES')
Обратите внимание, что значение, возвращаемое хранимой процедурой, возвращается в: Z