我需要在最后使用GO命令执行命令字符串
exec('SELECT * FROM tblTmp where Id = 1 GO')
Run Code Online (Sandbox Code Playgroud)
执行后我有
'GO'附近的语法不正确.
如果我执行exec('SELECT * FROM tblTmp GO')
一切都没问题
这是什么问题?
谢谢.
Qua*_*noi 18
GO
不是一个SQL
命令,它是由客户端像理解分批分离器osql
,sqlcmd
和SSMS
而不是发动机本身.
如果你写这样的东西SSMS
:
SELECT 1
GO
SELECT 2
GO
Run Code Online (Sandbox Code Playgroud)
,引擎发送两个批处理,每个批处理中有一个语句,而不是一个包含两个语句的批处理.
在第二个查询中,GO
被视为表的别名tblTmp
.
只需GO
从查询中删除即可.
您不需要对单个 SQL 语句使用 GO。仅当您将多个语句批处理到单个脚本中时,才需要使用分隔符。另外,如果您以编程方式执行这些操作,则应该使用分号 (;) 语句终止符而不是 GO 来分隔 SQL 语句。
这是一篇有关 GO 和分号用法的实用 SQL Server Central 文章。
归档时间: |
|
查看次数: |
320 次 |
最近记录: |