我正在使用pyodbc连接到.mdb文件并执行一些操作。
sql = ("""
DECLARE @i int = 1;
...somevalid sql...
""")
cursor.execute(sql)
上面给出了错误"Invalid SQL Statement; expected 'Delete',....
。
@i
在sql中的任何位置都没有使用,下面的sql将在没有declare语句的情况下运行。我在很多地方看到过其他人会像这里这样做,所以这应该是可能的。
您正在连接到Access数据库(.mdb(,因此需要使用SQL的Microsoft Access方言。DECLARE
是一个T-SQL语句(SQL的Microsoft SQL Server方言(,对Access SQL无效。
还要注意,Access SQL一次只支持执行一条SQL语句。