powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Можно ли выполнять строки в DB2 ?
4 сообщений из 4, страница 1 из 1
Можно ли выполнять строки в DB2 ?
    #36146383
4Kir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, в MS Sql можно выполнять строки. Например
Exec('select * from tbl_users') выведет все из tbl_users. Есть что-то такое в DB2?

Если нет - опишу свою задачу.
Надо сделать такую процедуру, которая по заданному списку ID возвращает записи из таблицы с такими ID.
Как бы я ее решал в MSSql ? Я бы передавал в эту процедуру строчку с разделитлями, вида "1;2;3;6;9" потом бы сделал в процедурке замену, немного по колдовал бы) и получил бы строчку.
set q = 'select * from tbl where id in (1, 2, 3, 6, 9)'
потом бы exec(q) и все щасливы....

а вот тут чета не получается) Поэтому прошу помощи.
1. Если знаете аналоги в DB2 MSSqlэвскому exec - скажите плиз.
2. Если нет - предложите примерное решение. МБ можно какнить передать лист в DB2?
программер я начинающий, так, что прошу не поднимать на смех)

Спасибо.
...
Рейтинг: 0 / 0
Можно ли выполнять строки в DB2 ?
    #36147116
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4Kir,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
create procedure p (...)
-- если надо возвратить n наборов данных из процедуры:
-- dynamic result sets n
begin
-- декларация переменных
declare sqlcode int;
-- декларация курсоров
declare c1 cursor 
-- для возврата результата из процедуры нужно объявить курсор как:
-- with return 
for s1;
...
-- исполнимые команды 
...
set q = 'select * from tbl where id in (1, 2, 3, 6, 9)';
prepare s1 from q;
open c1;
-- если надо обработать курсор в процедуре:
fetch c1;
while sqlcode!= 100  do
 ...
 fetch c1;
end while;
end@

А вообще, почитайте про SQL routines .
...
Рейтинг: 0 / 0
Можно ли выполнять строки в DB2 ?
    #36160630
pegаs_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein, А если например мне нужно выполнить строку без использования курсора?
...
Рейтинг: 0 / 0
Можно ли выполнять строки в DB2 ?
    #36161504
BuryCommoner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно создать тип целочисленного массива и подсовывать его параметром в процедуру. В теле делать UNNEST и производить выборку.
В DB2 можно напрямую выполнять строки для невозвращающих наборы данных команд:
Код: plaintext
1.
SET sqltext = 'INSER INTO table (id) VALUES (1)';
EXECUTE IMMEDIATE sqltext;

---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Можно ли выполнять строки в DB2 ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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