2016-04-11 7 views
4

Как выполнить транзакцию sql-сервера с помощью pyodbc (python)?Выполнение транзакции sql-сервера с использованием python

Я знаю, что существует метод «выполнить» для одной строки и одного аргумента.

Но теперь я хочу выполнить 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 

ответ

6

Когда вы создаете объект соединения, вы можете сказать ему не совершать каждую выполненную вами команду. Затем, когда вы выполнили все команды, которые вы хотели, вы можете передать их в одну транзакцию.

myconnection = pyodbc.connect(myconnectionstring, autocommit=False) 
# your commands here 
myconnection.commit() 
Смежные вопросы