Как перебрать столбцы в оракуле PL / SQL курсор - PullRequest
2 голосов
/ 09 апреля 2010

Я создаю динамический курсор, и я хотел бы перебрать столбцы, которые существуют в курсоре. Как бы я это сделал?

Например:

create or replace procedure dynamic_cursor(empid in varchar2, RC IN OUT sys_refcursor) as
     stmt varchar2(100);
   begin
     stmt := 'select * from employees where id = ' || empid;
     open RC for stmt using val;

     for each {{COLUMN OR SOMETHING}}
       --TODO: Get this to work
     loop;
end;     

1 Ответ

3 голосов
/ 09 апреля 2010

Вам нужно будет использовать Oracle Dynamic SQL , скорее всего , метод 4 .

EDIT: Извините, выше для Pro * C. Вам нужно будет использовать пакет DBMS_SQL . Это довольно сложно, но позволит вам анализировать, выполнять и извлекать любые произвольные операторы SQL, которые вам нужны, все во время выполнения. В частности, взгляните на примеры 3 и 8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...