2011-07-27 69 views

回答

2

我知道在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

+0

給我一個錯誤 –

+1

什麼是錯誤?你在做什麼? 'OUTPUT'(-201)錯誤旁邊的語法錯誤 – tom502

+0

。 –

0

我用這個插入行後,sql語句Select @@Identity。它給了我最後插入行的ID。我正在使用accessdatabase。我不知道它是否適用於您的數據庫。

+0

給我一個錯誤 –

+0

也許它不適用於informix。你得到什麼樣的錯誤? –

+1

在SQL Server中不要爲此使用@@ Identity。如果有人在插入到具有標識的另一個表的表上插入觸發器,它會給你錯誤的答案。你可能甚至不知道它發生了,直到你的數據被徹底搞砸了,它是不可修復的。 Scope_identity()或輸出類是你想要使用的。 – HLGEM

相關問題