使用python执行sql-server事务

shi*_*etz 4 python sql-server transactions pyodbc

如何使用pyodbc(python)执行sql server transaction?

我知道有一个方法"执行"一个字符串和一个参数列表.

但是现在我想在一个事务中执行2个或更多命令.

有没有办法做到这一点?

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
Run Code Online (Sandbox Code Playgroud)

Pav*_*sev 7

创建连接对象时,可以告诉它不要提交您执行的每个命令.然后,当您执行了所需的所有命令时,可以在一个事务中提交所有命令.

myconnection = pyodbc.connect(myconnectionstring, autocommit=False)
# your commands here
myconnection.commit()
Run Code Online (Sandbox Code Playgroud)