powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вернуть данные из процедуры на основании скриптов в таблице?
6 сообщений из 6, страница 1 из 1
Вернуть данные из процедуры на основании скриптов в таблице?
    #38409995
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех!
Есть функция (return table), которая возвращает набор скриптов (делаются они динамически, ибо таблицы временные, их может и не быть).
Получается что то типа:

Код: plsql
1.
2.
3.
4.
STR_DATA
select '100', ID,case when VARIANT_DATE > PRICE_DATE then VARIANT_DAT else PRIC_DAT end DATES, LOOK_DATE from  SAFE.F100 union all 
select '15823', ID,case when VARIANT_DATE > PRICE_DATE then VARIANT_DAT else PRIC_DAT end DATES, LOOK_DATE from  SAFE.F15823 union all 
select '15883', ID,case when VARIANT_DATE > PRICE_DATE then VARIANT_DAT else PRIC_DAT end DATES, LOOK_DATE from  SAFE.F15883 


А как мне вернуть данные из скриптов, полученных на предыдущем шаге?
...
Рейтинг: 0 / 0
Вернуть данные из процедуры на основании скриптов в таблице?
    #38410108
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed,

Добрый день.

Функция возвращает "набор скриптов"?
Может таблицу строк из поля, а значения - строки с командой select?

Вот в вашем примере - это 1 строка или 3?
Если это 1 строка, то я правильно понял, что вы хотите, чтоб результат запроса обрабатывала, скажем, процедура, которая бы выполняла нинамически запрос и возвращала данные (в каком виде - result set, временная таблица или как-то ещё)?
...
Рейтинг: 0 / 0
Вернуть данные из процедуры на основании скриптов в таблице?
    #38410139
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Может таблицу строк из поля, а значения - строки с командой select?
Именно так!
В моем примере - это три строки одной таблицы, в переменную боюсь конкатенировать ибо в таблице 1000 строчек и может в 32000 символов не влезть.
Марк, выручите?
...
Рейтинг: 0 / 0
Вернуть данные из процедуры на основании скриптов в таблице?
    #38410216
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed,

как-то так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
set serveroutput on/

begin
  declare stmt varchar(4000);
  declare idx int default 0;
  declare tabname varchar(128);

  for c as 
    select str_date 
    from table (values 
      'select * from syscat.tables'
    , 'select * from syscat.columns'
    ) t(str_date)
  do 
    set idx = idx + 1;
    set tabname = 'session.tab' || rtrim(char(idx));
    set stmt = 
      'declare global temporary table ' || tabname
    ||' as (' || c.str_date || ') definition only with replace on commit preserve rows not logged';
    execute immediate stmt;
    set stmt = 'insert into ' || tabname || ' ' || c.str_date;
    execute immediate stmt;
    call dbms_output.put_line('stmt: ' || c.str_date);
    call dbms_output.put_line('tab : ' || tabname);
  end for;
end/

select count(1) from session.tab1/

select count(1) from session.tab2/

...
Рейтинг: 0 / 0
Вернуть данные из процедуры на основании скриптов в таблице?
    #38410282
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк, весьма мерси!
...
Рейтинг: 0 / 0
Вернуть данные из процедуры на основании скриптов в таблице?
    #38410356
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Марк, весьма мерси!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вернуть данные из процедуры на основании скриптов в таблице?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]