shira stenmetz
shira stenmetz

Reputation: 293

Execute sql-server transaction using python

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

Answers (1)

Pavel Ryvintsev
Pavel Ryvintsev

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

Related Questions