Привет, Я пытаюсь вызвать процедуру, которая принимает два параметра, и оба они должны быть взяты у пользователя. Так что я придумал этот код, который не работает. (Я работаю с SQL Developer)Принимая 2 входа от пользовательской и вызывающей процедуры в PLSQL
create or replace procedure upd(x in binary_double , y in char) as
res binary_double;
begin
dbms_output.put_line('Hello World');
end;
/*User input and calling of function*/
accept X binary_double prompt 'Enter percentage X (lower case)';
accept Y char(2) prompt 'Enter product type (lower case)';
call upd(&X, &Y);
Это дает следующее сообщение об ошибке после наведения дважды для ввода
old:call upd(&X, &Y)
new:call upd(12, a)
Error starting at line 69 in command:
call upd(&X, &Y)
Error report:
SQL Error: ORA-06576: not a valid function or procedure name
06576. 00000 - "not a valid function or procedure name"
*Cause: Could not find a function (if an INTO clause was present) or
a procedure (if the statement did not have an INTO clause) to
call.
*Action: Change the statement to invoke a function or procedure
Он работает плавно, если я вызываю процедуру, как этот "вызов UPD (& X, 'a') ", но терпит неудачу, если я его назову В этом вопросе почему это происходит и как избавиться от него?
Эй, это сработало! Благодаря! – omjego