使用Python执行SQL Server事务

6

如何使用pyodbc(Python)执行sql server事务?

我知道有一种方法可以针对一个字符串和一个参数列表执行"execute"。

但现在,我想在一个事务中执行两个或更多的命令,就像这样。

有没有一种方法可以实现这个功能?

BEGIN TRANSACTION [Tran1]

BEGIN TRY

INSERT INTO [Test].[dbo].[T1]
  ([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)

UPDATE [Test].[dbo].[T1]
  SET [Title] = N'az2' ,[AVG] = 1
WHERE [dbo].[T1].[Title] = N'az'


COMMIT TRANSACTION [Tran1]

END TRY
BEGIN CATCH
  ROLLBACK TRANSACTION [Tran1]
END CATCH  

GO
1个回答

10
创建连接对象时,您可以告诉它不要在执行每个命令时都提交。然后,在执行完所有想要的命令后,您可以将它们全部提交到一个事务中。
myconnection = pyodbc.connect(myconnectionstring, autocommit=False)
# your commands here
myconnection.commit()

“commands”是否只是每个不同SQL语句的单独.execute()语句? - Source Matters
1
是的,@SourceMatters。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接