【发布时间】:2011-05-23 13:40:20
【问题描述】:
我必须做一个大的更新脚本 - 而不是 SPL(存储过程)。 它是为 Informix 数据库编写的。
它涉及将行插入到多个表中,每个表都依赖于插入到前一个表中的序列。
我知道我可以通过这样做来访问连续剧:
SELECT DISTINCT dbinfo('sqlca.sqlerrd1') FROM systables
但我似乎无法在插入下一个表之前定义一个局部变量来存储它。
我想这样做:
insert into table1 (serial, data1, data2) values (0, 'newdata1', 'newdata2');
define serial1 as int;
let serial1 = SELECT DISTINCT dbinfo('sqlca.sqlerrd1') FROM systables;
insert into table2 (serial, data1, data2) values (0, serial1, 'newdata3');
当然,Informix 会在定义行阻塞。
有没有办法做到这一点,而不必将其创建为存储过程,运行一次然后删除该过程?
【问题讨论】:
标签: informix