我問替代或類似的查詢中informix
執行以下操作:如何返回最後一個主鍵插入
INSERT INTO days (depcode,studycode,batchnum) values (1,2,3);SELECT SCOPE_IDENTITY();
我希望查詢以插入語句時返回SCOPE_IDENTITY()
我問替代或類似的查詢中informix
執行以下操作:如何返回最後一個主鍵插入
INSERT INTO days (depcode,studycode,batchnum) values (1,2,3);SELECT SCOPE_IDENTITY();
我希望查詢以插入語句時返回SCOPE_IDENTITY()
我知道在t-sql中你有OUTPUT
聲明嗎? 哪裏[KEY]
是你的主鍵和@OUT_KEY
的列名是你需要聲明
INSERT INTO days
(
depcode,
studycode,
batchnum
)
OUTPUT INSERTED.[KEY] INTO @OUT_KEY
VALUES
(
1,2,3
)
編輯
對於Informix,您可以使用
SELECT DBINFO('sqlca.sqlerrd1')
FROM systables
WHERE tabid = 1;
。假定一個可變的PK列SERIAL
我用這個插入行後,sql語句Select @@Identity
。它給了我最後插入行的ID。我正在使用accessdatabase。我不知道它是否適用於您的數據庫。
給我一個錯誤 –
也許它不適用於informix。你得到什麼樣的錯誤? –
在SQL Server中不要爲此使用@@ Identity。如果有人在插入到具有標識的另一個表的表上插入觸發器,它會給你錯誤的答案。你可能甚至不知道它發生了,直到你的數據被徹底搞砸了,它是不可修復的。 Scope_identity()或輸出類是你想要使用的。 – HLGEM
給我一個錯誤 –
什麼是錯誤?你在做什麼? 'OUTPUT'(-201)錯誤旁邊的語法錯誤 – tom502
。 –