Informix - 将dbinfo(' sqlca.sqlerrd1')的结果插入表

时间:2018-01-11 11:13:52

标签: sql informix

我希望在可能的情况下使用单个语句将多个记录插入到具有SERIAL列的表中。

我还需要知道插入生成了什么值。我的方法是在每次插入后尝试将dbinfo(' sqlca.sqlerrd1')的结果存储在临时表中,然后在最后读取表。

我的代码是这样的:

CREATE TEMP TABLE Ids1410363201 (ID INT);

INSERT INTO tableA (title) VALUES ('Test1');

INSERT INTO Ids1410363201 (ID)
VALUES (dbinfo('sqlca.sqlerrd1'));

INSERT INTO tableA (title) VALUES ('Test2');

INSERT INTO Ids1410363201 (ID)
VALUES (dbinfo('sqlca.sqlerrd1')); 

INSERT INTO tableA (title) VALUES ('Test3');

INSERT INTO Ids1410363201 (ID)
VALUES (dbinfo('sqlca.sqlerrd1')); 

select ID
from Ids1410363201

表的架构是:

CREATE TABLE tableA (ID SERIAL, title VARCHAR(50))

但是,0正在插入临时表而不是SERIAL列的值。所以最后的选择返回:

ID
--
0
0
0

他们以任何方式将实际的SERIAL号码输入临时表吗?或者我可以采用不同的方法吗?

我正在使用Informix v12.1

修改

具体来说,我的目标是Informix v12.10.FC9WE。我使用IBM的64位Informix ODBC驱动程序(v3.70.TC7)在Windows 7计算机上运行。我尝试了两个客户端:Database.net和一个通用的ODBC客户端,简称为#34;查询工具"。

0 个答案:

没有答案