Ошибки в процедуре PLS-00403, ORA-00904 и PLS-00363

При компилировании процедуры выдаёт ошибки PLS-00403, ORA-00904 и PLS-00363, вот код:

CREATE OR REPLACE PROCEDURE KOMAND.TEST_REPORT3 (cols IN varchar2,SQLQRY IN
varchar2) IS

BEGIN

select listagg('''' || slugba || ''' "' || slugba || '"', ',') within group
(order by slugba)
into cols
from (select distinct k.text as slugba from KOMAND T, (select
* from sprav k1 where k1.nomer = '7301') k where t.slugba = K.kod
group by t.mesto_go, k.text);
SQLQRY := 'select * from (
select * from (
select t.mesto_go, k.text as slugba, count(*) as cnt from
KOMAND T, (select * from sprav k1 where k1.nomer =
7301) k 
where t.slugba = K.kod
group by t.mesto_go, k.text
   )
)
pivot (
sum(CNT) for slugba in (' || cols || ')
)';

   EXCEPTION
   WHEN NO_DATA_FOUND THEN
   NULL;
   WHEN OTHERS THEN
   -- Consider logging the error and then re-raise
   RAISE;
END TEST_REPORT3;

До отпуска процедура работала, потом что-то правил, но что именно не помню.

> PLS-00403: выражение 'COLS' нельзя использовать как INTO-адресат в
> операторе SELECT/FETCH PL/SQL: 
> ORA-00904: : недопустимый идентификатор
> PLS-00363: выражение 'SQLQRY' не может быть использовано как адресат
> назначения

Пробовал менять типы переменных и задавать размеры, выполнять код не из процедуры но результат null. Работаю в Toad, Oracle 11


Ответы (0 шт):