我正在建立一個通用的參數化查詢(插入或更新),我使用插入的列(在INSERT查詢中)參數和更新的列和where子句列(在UPDATE查詢中)的參數。SQL參數化查詢中可能有多個OUTPUT關鍵字嗎?
在這兩種情況下,我還允許指定一個列名,這是由我的方法返回的,並且要使用OUTPUT INSERTED.ColumnName
來完成該操作。此列可能是表格的主鍵,但也可能是其他內容。
現在,在執行INSERT或UPDATE之後,我想獲取剛剛插入或更新的行的密鑰。我怎樣才能做到這一點?我可以做些什麼嗎?OUTPUT INSERTED.ColumnName, SCOPE_IDENTITY()
?
注意:這不是一個存儲過程,以防萬一。
你能告訴我們一些代碼? aaaaaand btw,你見過實體框架嗎? – Misters
'SCOPE_IDENTITY()'返回一個表示當前作用域中插入的最後一個標識值的值。我不認爲在可以處理多行的'OUTPUT'子句以及底層表甚至沒有IDENTITY列的情況下它是有意義的。 – HABO
您不能有多個'OUTPUT'關鍵字,但是您可以輸出多個**列**,例如'OUTPUT Inserted.ColumnName,Inserted.ID'等。 –