SQL Server Management Studio中"go"附近的语法不正确

Eld*_*rum 14 sql parsing ssms newline

执行以下SQL:

drop function f
go
Run Code Online (Sandbox Code Playgroud)

在MS Sql Server Management Studio中给我这个解析错误:

消息102,级别15,状态1,行1'go'附近的语法不正确.

为什么?

如果我打开一个新选项卡并将SQL复制/粘贴到其中,它也会失败.但是,如果我打开一个新选项卡并完全重新键入SQL,它可以正常工作.

Dav*_*dEG 30

SQL Server Management Studio无法处理某些不可打印的字符.

检查换行符,可能是Linux(LF)或Mac风格(CR)而不是Windows风格(CR和LF).你可以使用任何先进的文本编辑器检查,例如记事本++


Eld*_*rum 5

您以Mac格式打开了一个文件,其中包含回车符('\ r')换行符.

SQL解析器在CR换行符上的行为不一致.它支持它们用于某些查询,例如"select 1 go",但在其他查询上失败,例如"drop function f go".

将所有sql文件转换为Windows编码.