我使用dotnet SqlCommand
时遇到了一个奇怪的错误。
基本上我正在执行一个命令文本,其中包含GO
的多行评论,例如:
/*IF OBJECT_ID ( 'dbo.xxx', 'P' ) IS NOT NULL
DROP PROCEDURE [dbo].[xxx]
GO
*/
select * from dbo.abc
我得到的错误是“缺少结束评论标记'* /'”
我能够缩小错误范围,似乎问题与GO
有关。如果我删除G
O它有效。
如果我执行此命令并在sql配置文件中观察执行的查询,我得到:
/*IF OBJECT_ID ( 'dbo.xxx', 'P' ) IS NOT NULL
DROP PROCEDURE [dbo].[xxx]
因此部分查询未执行...并且缺少结束注释标记
我已经搜索过是否有人遇到此问题,因为我在msdn上看到这篇帖子有类似的GO
问题......
答案 0 :(得分:4)
我没有看到重点,但问题是GO
。 GO
不是Transact-SQL,它是SSMS等工具的批处理分隔符。不使用GO
(或首先没有多行评论或任何评论)尝试。