使用 python 执行 sql- 服务器事务
Execute sql-server transaction using python
如何使用 pyodbc(python) 执行 sql 服务器事务?
我知道有一种方法 "execute" 用于一个字符串和一个参数列表。
但现在我想像这样在一个事务中执行 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
当您创建一个连接对象时,您可以告诉它不要提交您执行的每个命令。然后,当你执行完所有你想要的命令时,你可以在一个事务中提交它们。
myconnection = pyodbc.connect(myconnectionstring, autocommit=False)
# your commands here
myconnection.commit()
如何使用 pyodbc(python) 执行 sql 服务器事务?
我知道有一种方法 "execute" 用于一个字符串和一个参数列表。
但现在我想像这样在一个事务中执行 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
当您创建一个连接对象时,您可以告诉它不要提交您执行的每个命令。然后,当你执行完所有你想要的命令时,你可以在一个事务中提交它们。
myconnection = pyodbc.connect(myconnectionstring, autocommit=False)
# your commands here
myconnection.commit()