Не могу вставить во временную таблицу

Я подключился к своей новой базе данных DB2 через JDBC и пытаюсь создать и вставить временную таблицу:

String createTemporaryTable = "declare global temporary table temporary_table (RECORD smallint) ON COMMIT PRESERVE ROWS in TEMPTABLESPACE";
statement.execute(createTemporaryTable);

String insert = "INSERT INTO temporary_table (RECORD) VALUES (1)";

statement.execute(insert);
connection.commit();

Это приводит к

«Ошибка SQL DB2: SQLCODE = -204, SQLSTATE = 42704»

Создание обычной таблицы и вставка таким образом не приводят к ошибкам. Мне нужно что-то настроить?


person ZhouW    schedule 02.04.2016    source источник


Ответы (1)


Вы должны ссылаться на временную таблицу как на находящуюся в сеансе схемы. Попробуйте вставить как:

String insert = "INSERT INTO session.temporary_table (RECORD) VALUES (1)";

session неявно используется при объявлении таблицы, но для ясности я обычно объявляю его как:

declare global temporary table session.temporary_table (...
person Lennart    schedule 02.04.2016