Использование DECLARE создает неверный оператор SQL - PullRequest
0 голосов
/ 15 ноября 2018

Я использую pyodbc для подключения к файлу .mdb и делаю что-то.

sql = ("""\
  DECLARE @i int  = 1;
  ...somevalid sql...
""")
cursor.execute(sql)

Выше приведено сообщение об ошибке "Invalid SQL Statement; expected 'Delete',.....

@i не используетсяв любом месте в sql, и sql ниже будет работать без оператора объявления.Я видел в нескольких местах, что другие люди ДЕЛАЮТ это как здесь , так что это должно быть возможно.

1 Ответ

0 голосов
/ 16 ноября 2018

Вы подключаетесь к базе данных Access (.mdb), поэтому вам нужно использовать Microsoft Access диалект SQL.DECLARE - это оператор T-SQL (диалект SQL для Microsoft SQL Server), который недопустим для Access SQL.

Также обратите внимание, что Access SQL поддерживает одновременное выполнение только одного оператора SQL.

...