функция с ошибкой входного и выходного параметров PLS-00103 - PullRequest
0 голосов
/ 11 мая 2018

Я изо всех сил пытаюсь создать функцию с параметром in и out для возврата значения, к сожалению, я получаю сообщение об ошибке в первой строке. Я не могу выяснить проблему, могу ли я получить некоторую помощь в том, где я иду неправильно.

PLS-00103: Обнаружен символ "(" при ожидании одного из следующего:: =.), Символ @% по умолчанию. Символ ": = был вставлен перед" ("для продолжения.

create or replace FUNCTION GET_LOCATION_Test (l_con_id in NUMBER, l_con_name out VARCHAR2(15)
RETURN NUMBER
IS LOCATION VARCHAR2(30);

BEGIN
SELECT LOCATION INTO LOCATION FROM LDS_CONSULTANT WHERE CONSULTANT_ID = l_con_id;

SELECT CST_NAME INTO l_con_name FROM LDS_CONSULTANT WHERE CONSULTANT_ID = l_con_id;




RETURN l_con_id;
END;

1 Ответ

0 голосов
/ 11 мая 2018

Закрывающие скобки отсутствуют в конце списка параметров функции (и спецификация длины там не допускается).Вместо этого используйте следующее:

CREATE OR REPLACE FUNCTION GET_LOCATION_TEST
(l_con_id in NUMBER, l_con_name out VARCHAR2)--^*^parentheses is missing,  
                                             -- and length specification is wrong here 
RETURN NUMBER IS  
 LOCATION VARCHAR2(30);
BEGIN
  SELECT LOCATION INTO LOCATION FROM LDS_CONSULTANT WHERE CONSULTANT_ID = l_con_id;    
  SELECT CST_NAME INTO l_con_name FROM LDS_CONSULTANT WHERE CONSULTANT_ID = l_con_id;

RETURN l_con_name; -- I suppose you want to return this variable which is of type "out".
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...