2
我有這個偉大的pyodbc庫。我嘗試下面的代碼,它應該插入一行並返回行ID,但它不起作用。順便說一句,我在服務器上使用SQL Server 2005和客戶端是Windows操作系統有沒有辦法做一個插入請求scope_identity()使用pyodbc到sql server 2005
...
con = pyodbc.connect('conectionString', autocommit = True)
cur = con.execute(
"insert into sometable values('something');
select scope_identity() as id"
)
for id in cur:
print id
...
一些想法?
什麼錯誤註釋的問題嗎? – gbn 2010-12-23 18:59:55
根據[本FAQ頁面](http://code.google.com/p/pyodbc/wiki/FAQs):「使用」SELECT @@ IDENTITY「。 請注意@@ IDENTITY返回最後生成的值,所以如果觸發器導致第二次插入,您將得到觸發器的生成值 SQL Server還提供了SCOPE_IDENTITY(),它應該解決這個問題。不幸的是,SQL Server ODBC驅動程序爲每個執行調用調用一個內部存儲過程,確定範圍,使其無法使用。「 – 2010-12-23 19:05:02