- ОБНОВЛЕНО ---
Привет, Попо,
Прежде всего, не могли бы вы рассказать подробнее о том, что вы имеете в виду, когда говорите, что rowid назначен триггером?
Если бы у вас был столбец реальных идентификаторов, вы бы использовали функцию IDENTITY_VAL_LOCAL (), например, сразу после INSERT: SELECT IDENTITY_VAL_LOCAL() INTO myrowid FROM SYSIBM.SYSDUMMY1;
Я не на 100% использую этот синтаксис, потому что я обычно использую встроенный SQL, и он работает там иначе возможно, придется поиграть с этим. Документация IBM по адресу http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=/db2/rbafzscaidentity.htm.
Однако, поскольку вы делаете что-то более сложное, я думаю, что этот альтернативный метод может сработать. Вам нужно будет переформатировать вашу ВСТАВКУ, чтобы обернуть ее в SELECT.
SELECT myrowid
INTO myrowid
FROM FINAL TABLE (
INSERT INTO myfile (myrowid, other_stuff) VALUES (default, 'blah')
)
Вам нужно будет настроить правильные имена полей и так далее, но я думаю, что это поможет. Документации не так много, но если вы хотите увидеть ее, перейдите на http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/index.jsp?topic=/db2/rbafzbackup.htm и прокрутите ее до самого конца страницы.
Приветствия