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