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

Пытаюсь сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE TEMP.GET_OPER_NAME ( IN TABLE_NAME VARCHAR( 16 ) )
  LANGUAGE SQL
  NOT DETERMINISTIC
  NO EXTERNAL ACTION
  CONTAINS SQL
  CALLED ON NULL INPUT
  OLD SAVEPOINT LEVEL
BEGIN
DECLARE v_dynSQL varchar( 600 );
SET v_dynSQL = 'create table '||TABLE_NAME||' (id integer, name varchar(400))';
EXECUTE v_dinSQL;

END;

Скрипт отрабатывает, процедура создается. Но при попытке заставить ее отработать вот таким образом:

Код: plaintext
call TEMP.GET_OPER_NAME('temp.aaaaaaaa')

получаю ошибку SQL0518N The statement named in the EXECUTE statement is not in a prepared state or is a SELECT or VALUES statement. SQLSTATE=07003

Понимаю, что надо подготовить запрос, т.е. сделать PREPARE.
Подскажите, как это сделать?
...
Рейтинг: 0 / 0
Создание временной таблицы в процедуре или функции.
    #36500267
mustaccio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте EXECUTE IMMEDIATE.
...
Рейтинг: 0 / 0
Создание временной таблицы в процедуре или функции.
    #36500289
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось. Спасибо огромное!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Создание временной таблицы в процедуре или функции.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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