Pls поможет мне получить IDENTITY_VAL_LOCAL() в переменной и использовать ее в дополнительных инструкциях INSERT. После не работает:DB2 использует IDENTITY_VAL_LOCAL() дважды после первоначальной вставки
INSERT INTO SCH1.CONF_GROUP(CONFIG_GROUP_NAME) VALUES('Item1'); --Generates identity OK
SET :IVAR = IDENTITY_VAL_LOCAL(); --OK
INSERT INTO SCH1.CONF(GROUP_ID, NAME, CVALUE) VALUES(:IVAR, 'token', ''); --FAILS
INSERT INTO SCH1.CONF(GROUP_ID, NAME, CVALUE) VALUES(:IVAR, 'name', '');
После работы, но мне нужно сделать две вставки после извлечения IDENTITY_VAL_LOCAL()
INSERT INTO SCH1.CONF_GROUP(CONFIG_GROUP_NAME) VALUES('Item1'); --OK
INSERT INTO SCH1.CONF(GROUP_ID, NAME, CVALUE) VALUES(IDENTITY_VAL_LOCAL(), 'token', ''); --IDENTITY_VAL_LOCAL() contains a value
INSERT INTO SCH1.CONF(GROUP_ID, NAME, CVALUE) VALUES(IDENTITY_VAL_LOCAL(), 'name', ''); --IDENTITY_VAL_LOCAL() is null
Сердечные приветы хиджры
Какая платформа и версия DB2? Каково сообщение об ошибке, когда он не работает? Это не похоже на прямой SQL; так как похоже, что вы используете переменные хоста. На каком языке встроен SQL ?. – Charles
DB2 9.7 в Windows, SQL отредактирован и запущен в Центре управления. Да, переменные хоста. Я буду запускать эти SQL-запросы raw, они не будут внедрены. – BTalker