如何使用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
当您创建一个连接对象时,您可以告诉它不要提交您执行的每个命令。然后,当您执行了所有想要的命令后,就可以在一个事务中提交所有命令。
myconnection = pyodbc.connect(myconnectionstring, autocommit=False)
# your commands here
myconnection.commit()