У меня есть запрос SQLServer TSQL, который имеет несколько операторов INSERT, которые варьируются от довольно простых до довольно сложных.
Этот запрос работает в SQLServer Management Studio.
Когда я использую Python pypyodbc package и запускаю скрипт, скрипт запускается, но не фиксируется.Я пытался с и без функции commit ().
НО если я укажу инструкцию SELECT в конце, скрипт фиксирует вставки.
Так что все хорошо, потому что это работает, но я помещаю неприменимый оператор SELECT в конец всех моих сценариев.
У кого-нибудь есть идеи, как я могу заставить их коммититься без оператора SELECT в конце?Я не хочу разбивать запросы на несколько запросов.
Спасибо!
def execute_query(self,
query,
tuple_of_query_parameters,
commit=False,
return_insert_id=False,
return_results=True):
self.open_cursor()
try:
self.connection_cursor.execute(query,
tuple_of_query_parameters)
result_set = None
if return_results:
if return_insert_id:
result_set = self.connection_cursor.fetchone()[0]
else:
result_set = self.connection_cursor.fetchall()
if commit:
self.connection_cursor.commit()
except pypyodbc.Error as e:
print('Check for "USE" in script!!!')
raise
finally:
self.close_cursor()
return result_set