при создании хранимой процедуры в Oracle жалуются на недопустимое объявление переменной - PullRequest
1 голос
/ 08 марта 2011

Когда я пытаюсь создать хранимую процедуру следующим образом:

create or replace
procedure USR_Trial
( auth out usrr.DEPARTMENT 
)
AS
BEGIN
  select authority_id 
  into auth
  from usrr where user_id='G68EF610';
END USR_Trial;

Я получаю следующую ошибку:

Error(2,1): PLS-00488: invalid variable declaration:  object 'USRR.DEPARTMENT' must be a type or subtype

Как я могу это исправить?

1 Ответ

6 голосов
/ 08 марта 2011

Если usrr.DEPARTMENT - это столбец в таблице, и вы хотите, чтобы параметр OUT имел тот же тип данных, что и этот столбец, то синтаксис:

create or replace
procedure USR_Trial
( auth out usrr.DEPARTMENT%type 
)
...
...