Tsql DB2相当于SQL的GO?

Tsql DB2相当于SQL的GO?,tsql,syntax,db2,Tsql,Syntax,Db2,我编写了一个DB2查询来执行以下操作: 创建临时表 从monster查询中选择/插入临时表 从临时表中选择/从旧表中删除 从临时表中选择/插入到其他表中 在MSSQL中,我可以作为一个长查询一个接一个地运行命令。如果做不到这一点,我可以用“GO”命令对它们进行分隔。在DB2中尝试此操作时,会出现以下错误: DB2CLI.DLL: ERROR [42601] [IBM][CLI Driver][DB2] SQL0199N The use of the reserved word "GO" foll

我编写了一个DB2查询来执行以下操作:

创建临时表 从monster查询中选择/插入临时表 从临时表中选择/从旧表中删除 从临时表中选择/插入到其他表中 在MSSQL中,我可以作为一个长查询一个接一个地运行命令。如果做不到这一点,我可以用“GO”命令对它们进行分隔。在DB2中尝试此操作时,会出现以下错误:

DB2CLI.DLL: ERROR [42601] [IBM][CLI Driver][DB2] SQL0199N The use of the reserved
word "GO" following "" is not valid. Expected tokens may include: "". 
SQLSTATE=42601 

在临时表不超出范围的情况下,我可以使用什么来分隔这些指令?

我会尝试包装您在“开始”和“结束”中要执行的操作,以设置范围

GO不是SQL命令,甚至不是TSQL命令。它是解析器的指令。我不知道DB2,但我认为GO不是必需的

虽然GO不是一个T-SQL语句,但它经常用于T-SQL代码中,除非您知道它是什么,否则它可能是一个谜。那么它的目的是什么呢?好的,它会导致从脚本开头或最后一个GO语句(以较接近的为准)开始的所有语句被编译成一个执行计划,并独立于任何其他批处理发送到服务器


GO是MSSQL Studio中使用的东西,我有自己的应用程序,可以将upates运行到live中,并使用GO来分解语句


DB2是否支持分号;?这是许多SQL实现中的标准分隔符。

您是否尝试过用分号代替GO


这个链接建议分号应该适用于DB2-

,这在DB2中有点复杂。通常,默认分隔符是分号,但是在存储过程等的主体中,分隔符始终是分号,而在CREATE PROCUEDURE/WHERCH命令之后使用的分隔符必须是其他内容。您可以在调用DB2的环境中重写此分隔符。传统上,\\用作外部分隔符,但您可以使用任何其他字符串。