I have to do a big update script - not an SPL (stored procedure). It s to be written for an Informix db.
它涉及将行插入到多个表中,每个表都依赖于插入到上一个表中的序列。
我知道我可以通过以下操作访问序列:
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在定义线上遇到了瓶颈。
有没有一种方法可以做到这一点,而不必将其创建为存储过程,运行一次,然后删除该过程?