Как Выполнить хранимую процедуру от SQL Плюс?

Я имею хранимую процедуру в оракуле и хочу протестировать ее от 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

Я не записал процедуру, и я обычно не имею дело с ними так, я мог пропускать что-то очевидное.

Спасибо

7
задан cody 22 January 2010 в 06:14
поделиться

2 ответа

У вас есть два варианта, блок PL / SQL или SQL * плюс переменные связывания:

var z number

execute  my_stored_proc (-1,2,0.01,:z)

print z
16
ответ дан 6 December 2019 в 14:04
поделиться

Вы забыли поставить z как переменную связывания.

Следующая команда выполнения выполняет оператор PL / SQL, который ссылается на сохраненную процедуру:

SQL> EXECUTE -
> :Z := EMP_SALE.HIRE('JACK','MANAGER','JONES',2990,'SALES')

Обратите внимание, что значение, возвращаемое хранимой процедурой, возвращается в: Z

-1
ответ дан 6 December 2019 в 14:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: