Я намагаюся запустити збережену процедуру, яка має декілька параметрів входу та виходу. Процедуру можна переглянути на моїй панелі "З'єднання", навігацією "Інші користувачі" | Пакети | |
Якщо я клацну правою кнопкою миші, пунктами меню є "Замовити членів за ..." та "Створити модульний тест" (сірий). Можливість "запустити" процедуру не здається можливою, коли користувач отримує до неї доступ.
Я намагався знайти приклад, як створити анонімний блок, щоб я міг запустити процедуру як файл SQL, але не знайшов нічого, що працює.
Хтось знає, як я можу виконати цю процедуру від розробника SQL? Я використовую версію 2.1.1.64.
Спасибі заздалегідь!
EDIT 1:
Процедура, до якої я хочу зателефонувати, має такий підпис:
user.package.procedure(
p_1 IN NUMBER,
p_2 IN NUMBER,
p_3 OUT VARCHAR2,
p_4 OUT VARCHAR2,
p_5 OUT VARCHAR2,
p_6 OUT NUMBER)
Якщо я напишу свій анонімний блок так:
DECLARE
out1 VARCHAR2(100);
out2 VARCHAR2(100);
out3 VARCHAR2(100);
out4 NUMBER(100);
BEGIN
EXECUTE user.package.procedure (33,89, :out1, :out2, :out3, :out4);
END;
Я отримую помилку:
Bind Varialbe "out1" is NOT DECLCARED
anonymous block completed
Я спробував ініціалізувати змінні out *:
out1 VARCHAR2(100) := '';
але отримайте ту ж помилку:
РЕДАКТУВАТИ 2:
На основі відповіді Алекса, я спробував видалити двокрапку перед парам і отримати це:
Error starting at line 1 in command:
DECLARE
out1 VARCHAR2(100);
out2 VARCHAR2(100);
out3 VARCHAR2(100);
out4 NUMBER(100);
BEGIN
EXECUTE user.package.procedure (33,89, out1, out2, out3, out4);
END;
Error report:
ORA-06550: line 13, column 17:
PLS-00103: Encountered the symbol "USER" when expecting one of the following:
:= . ( @ % ; immediate
The symbol ":=" was substituted for "USER" to continue.
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: