2016-04-11 11 views
4

Wie kann ich SQL Server-Transaktion mit Pyodbc (Python) ausführen?Ausführen von SQL-Server-Transaktion mit Python

Ich weiß, es gibt eine Methode "Ausführen" für eine Zeichenfolge und eine Argumentliste.

Aber jetzt möchte ich 2 oder mehr Befehle in einer Transaktion wie folgt ausführen.

Gibt es eine Methode, das zu tun?

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 

Antwort

6

Wenn Sie ein Verbindungsobjekt erstellen, können Sie es sagen, nicht jeden Befehl, den Sie ausführen zu begehen. Wenn Sie dann alle gewünschten Befehle ausgeführt haben, können Sie alle in einer einzigen Transaktion festschreiben.

myconnection = pyodbc.connect(myconnectionstring, autocommit=False) 
# your commands here 
myconnection.commit() 
Verwandte Themen