Python SQL中GO附近的语法不正确
我连接了许多sql语句,并遇到以下错误。 “GO附近语法错误”和“GO附近语法错误”—— 似乎当我删除尾随空格和go,以及go之后的空格,然后按CTRL+Z组合键放回go,这会使错误消失吗?很奇怪 为什么? 我如何用Python编写代码,谢谢Python SQL中GO附近的语法不正确,python,sql-server,tsql,syntax-error,Python,Sql Server,Tsql,Syntax Error,我连接了许多sql语句,并遇到以下错误。 “GO附近语法错误”和“GO附近语法错误”—— 似乎当我删除尾随空格和go,以及go之后的空格,然后按CTRL+Z组合键放回go,这会使错误消失吗?很奇怪 为什么? 我如何用Python编写代码,谢谢 ') END TRY BEGIN CATCH print ERROR_MESSAGE() END CATCH GO 如注释中所述,GO不是SQL语法的一部分,而是ManagementStudio中的批定界符 您可以用两种方法来处理它,使用Subproce
')
END TRY
BEGIN CATCH
print ERROR_MESSAGE()
END CATCH
GO
如注释中所述,
GO
不是SQL语法的一部分,而是ManagementStudio中的批定界符
您可以用两种方法来处理它,使用Subprocess
调用SqlCmd
,或者在Python中剪切脚本。子流程
+SqlCmd
只有在您不关心查询结果的情况下才真正适合您,因为您需要解析控制台输出才能获得这些结果
我需要根据过去SSMS生成的脚本构建一个数据库,并因此创建了以下函数(更新,因为我现在有了一个更好的版本,可以在其中留下注释):
使用此功能,您可以运行包含GO
的脚本,如下所示:
import pymssql
conn = pymssql.connect(server, user, password, "tempdb")
cursor = conn.cursor()
for part in partition_script(your_script):
cursor.execute(part)
conn.close()
我希望这有帮助。
GO
不是SQL。将GO
替换为代码>。FromGO不是Transact-SQL语句;这是一个由sqlcmd和osql实用程序以及SQL Server Management Studio代码编辑器识别的命令。
它不起作用。已尝试过。谢谢有时你确实需要围棋,但分号不起作用。如果你检查这是C,你可以用逻辑。@bansi实际上我不理解你的引用。但问题是,我实际上是在将多个sql文件连接到一个主sql文件中。然后我去sql server执行该文件。我不确定这会有什么帮助,除非我在sql server中有一个循环,它会一个接一个地解压Go sql语句的每个块。你明白我的意思吗?
import pymssql
conn = pymssql.connect(server, user, password, "tempdb")
cursor = conn.cursor()
for part in partition_script(your_script):
cursor.execute(part)
conn.close()