Reputation: 293
How can I execute sql server transaction using pyodbc(python)?
I know there is a method "execute" for one string and one arguments' list.
But now I want to execute 2 or more commands in one transaction like this.
Is there a method to do that?
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
Upvotes: 6
Views: 6684
Reputation: 1008
When you create a connection object, you can tell it not to commit every command you execute. Then, when you have executed all the commands you wanted, you can commit them all in one transaction.
myconnection = pyodbc.connect(myconnectionstring, autocommit=False)
# your commands here
myconnection.commit()
Upvotes: 10