Итак, я пытаюсь вставить коллекцию нестатических переменных и значений, извлеченных из другой таблицы, в таблицу с помощью подзапроса.Мой код выглядит так:
INSERT INTO SCHEMA.TAB_REQ(TABLE_I, RUN_I, CODE, ORG_ALS, TAB_CRT_S, TAB_LST_UPD_S)
SELECT :tableKey, :runKey, :code, :org, TAB.CRT_S, TAB.LST_UPD_S
FROM SCHEMA.TABLE TAB
WHERE TAB.KEY = :tableKey
Получаемые значения, TAB.CRT_S и TAB.LST_UPD_S, оба будут временными метками.Так что «3.12.2009 12:00:01» в качестве примера.Ни одно из этих значений не должно быть нулевым.Они автоматически генерируются всякий раз, когда вставляется новая строка.
Предоставленные переменные будут представлять собой две строки целых чисел (: tableKey и: runKey), а затем две строки (: code и: org).Они предоставляются приложением Java, и если они отсутствуют, значит, что-то пошло не так.Сейчас я вручную ввожу значения для каждой переменной при выполнении запроса.
Оператор select должен возвращать только одну строку, поскольку: tableKey - это автоматически генерируемый уникальный идентификатор.
Myтекущий код выдает следующую ошибку:
ERROR [42610] [IBM][DB2] SQL0418N The statement was not processed because the statement contains an invalid use of one of the following: an untyped parameter marker, the DEFAULT keyword, or a null value.
Возможно ли это, или мне нужно два отдельных запроса?