我必須做一個大的更新腳本 - 不是SPL(存儲過程)。這是爲Informix數據庫編寫的。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的定義線路電抗器。
有沒有辦法做到這一點,而不必創建這個存儲過程,運行一次,然後刪除過程?
我省略了我的Table3中的TEMP,這導致了併發問題;因爲它只是一個臨時表,所以沒有併發問題,因爲它只保存當前會話的值。我在任何地方都用TEMP寫了SQL,並且非常熱衷於刪除TEMP。好點,但。 – 2011-05-25 23:48:17