powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как получить список временных таблиц?
7 сообщений из 7, страница 1 из 1
Как получить список временных таблиц?
    #34816861
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или как получить список таблиц в текущей схеме?

Есть скрипт, который во время работы создает несколько QTemp'ов. Необходимо удалить их после его работы. Алгоритм такой: Сохроняем список QTemp'ов до работы и сверяем со списком после, лишние удаляем. Вопрос в том как получить список QTemp'ов.
...
Рейтинг: 0 / 0
Как получить список временных таблиц?
    #34817660
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В текущей схеме временные таблицы создать невозможно :))
Создайте временную таблицу для хранения имен временных таблиц.
...
Рейтинг: 0 / 0
Как получить список временных таблиц?
    #34817823
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanВ текущей схеме временные таблицы создать невозможно :))
Создайте временную таблицу для хранения имен временных таблиц.
Естественно что Временные таблицы создаются в схеме QTemp. Мне их список и надо получить.
...
Рейтинг: 0 / 0
Как получить список временных таблиц?
    #34818012
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from syscat.tables where tabschema='QTEMP'
...
Рейтинг: 0 / 0
Как получить список временных таблиц?
    #34818259
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanselect * from syscat.tables where tabschema='QTEMP'
Вот и попробуйте. А сначала подумайте: QTemp - для каждого своя, а syscat.tables - общая!
В связи с этим данный sql запрос будет выдавать пустое множество. Всегда.
Хотя проверить мне не удалось, так как работаю на iSeries. Но в аналоге этой таблицы в iSeries QTemp'ов нет!
...
Рейтинг: 0 / 0
Как получить список временных таблиц?
    #34825137
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ответ на то как получить список QTemp'ов я получил:
CL: DSPOBJD OBJ(QTEMP/*ALL) OBJTYPE(*FILE) OUTPUT(*OUTFILE) OUTFILE(QTEMP/TABLELIST)
SELECT * FROM QTemp.TableList;

Внимание вопрос: Как заставить в Delphi TQuery выполнять(пересылать на сервер или ещё как) Control Language от iSeries???

Так как Код, приведенный выше, работает через iSeries Navigator, но не работает через TQuery.
...
Рейтинг: 0 / 0
Как получить список временных таблиц?
    #34826539
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarstoneНу ответ на то как получить список QTemp'ов я получил:
CL: DSPOBJD OBJ(QTEMP/*ALL) OBJTYPE(*FILE) OUTPUT(*OUTFILE) OUTFILE(QTEMP/TABLELIST)
SELECT * FROM QTemp.TableList;

Внимание вопрос: Как заставить в Delphi TQuery выполнять(пересылать на сервер или ещё как) Control Language от iSeries???

Так как Код, приведенный выше, работает через iSeries Navigator, но не работает через TQuery.Есть хранимая процедура QSYS.QCMDEXC, которая может выполнять CL команды.
Я делал ей обертку (т.к. у нее неудобный вызов) типа:
Код: 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.
25.
26.
CREATE PROCEDURE QCMDEXC2
(
IN CMD VARCHAR( 4096 ),
OUT RC INT,
OUT MSG VARCHAR( 4096 )
)
LANGUAGE SQL
BEGIN 
DECLARE SQLCODE INTEGER;
DECLARE CMDLEN DECIMAL( 15 , 5 );

DECLARE EXIT HANDLER FOR SQLEXCEPTION 
 BEGIN
  GET DIAGNOSTICS EXCEPTION  1  
    RC =  DB2_RETURNED_SQLCODE,
    MSG = MESSAGE_TEXT;
--for V5R2 and earlier
--    SET RC = COALESCE(NULLIF(SQLCODE, 0), -1);
 END;

SET RC= 0 ;
SET MSG='';
SET CMD=TRIM(CMD);
SET CMDLEN = LENGTH(CMD);
CALL QSYS.QCMDEXC(CMD, CMDLEN);

END@
и использовал:
Код: plaintext
call qcmdexc2('DSPOBJD OBJ(QTEMP/*ALL) OBJTYPE(*FILE) OUTPUT(*OUTFILE) OUTFILE(QTEMP/TABLELIST)')
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как получить список временных таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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