“go”附近的语法不正确在 SQL Server Management Studio 中

发布于 2024-12-09 23:20:57 字数 281 浏览 0 评论 0原文

在 MS Sql Server Management Studio 中执行以下 SQL:

drop function f
go

会出现以下解析错误:

消息 102,级别 15,状态 1,第 1 行 “go”附近的语法不正确。

为什么?

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

Executing the following SQL:

drop function f
go

in MS Sql Server Management Studio give me this parse error:

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'go'.

Why?

If I open a new tab and copy/paste the SQL into it, it also fails.
But If I open a new tab and retype the SQL entirely, it works fine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

坚持沉默 2024-12-16 23:20:57

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

检查换行符,可能您使用的是 Linux (LF) 或 Mac 风格 (CR),而不是 Windows 风格(CR 和 LF)。您可以使用任何高级文本编辑器进行检查,例如 Notepad++·

SQL Server Management Studio can't handle some non printable characters.

Check the newline characters, probably you have Linux (LF) or Mac style (CR) instead of Windows style (CR and LF). You can check with any advanced text editor, for example Notepad++·

我的奇迹 2024-12-16 23:20:57

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

SQL 解析器对 CR 换行符的行为不一致。
它支持某些查询,例如“select 1 go”,但对其他查询则失败,例如“drop function f go”。

将所有 sql 文件转换为 windows 编码。

You opened a file in Mac format, with Carriage Returns ('\r') newlines.

The SQL parser behaves inconsistently on CR newlines.
It supports them for some queries, like "select 1 go", but fails on others, like "drop function f go".

Convert all your sql files to windows encoding.

鸢与 2024-12-16 23:20:57

您应该从脚本中删除所有“GO”,它将解决问题。

查看此以获取更多信息:

https://agilewebhosting。 com/knowledgebase/63/SQL-Error-In Correct-syntax-near-andsharp039GOandsharp039.html

矩阵

You should remove all the "GO" from the script and it will resolve the issue.

Check this out for more info:

https://agilewebhosting.com/knowledgebase/63/SQL-Error-Incorrect-syntax-near-andsharp039GOandsharp039.html

Matrix

空城之時有危險 2024-12-16 23:20:57

一直深受这个问题的困扰。最后,使用Notepad++。

修复方法:

格式 > 转换为 UNIX,

然后

格式 > 转换为 Windows

Been suffering with this problem mightily. Finally, used Notepad++.

Fixed by:

Format>Convert to UNIX

followed by

Format>Convert to Windows

习ぎ惯性依靠 2024-12-16 23:20:57

我也面临同样的问题,但不确定是什么原因造成的。当复制粘贴到查询编辑器中时,能够执行它。

彻底的过程只有它失败了

从我的过程生成的脚本。

消息 102,第 15 级,状态 1,第 366 行
“GO”附近的语法不正确。
消息 156,第 15 级,状态 1,第 370 行
关键字“CREATE”附近的语法不正确。
消息 102,第 15 级,状态 1,第 371 行
“GO”附近的语法不正确。

创建表 dbo.[SolutionAssessmentBPF]
(businessprocessflowinstanceid uniqueidentifier NOT NULL、StatusReasonCode int NULL、TimeZoneRuleVersionNumber int NULL、TraversedPath nvarchar (1250) NULL、UTCConversionTimeZoneCode int NULL、TenantId int NOT NULL、OdsCreatedDate 日期时间 NOT NULL DEFAULT GETUTCDATE()、OdsModifiedDate 日期时间 NOT NULL DEFAULT GETUTCDATE() 、OdsStatus tinyint NULL DEFAULT 0 、版本号 bigint DEFAULT -1
, 约束 [PK_SolutionAssessmentBPF] 主键聚集

业务流程实例 ID、租户 ID ASC ))

创建唯一索引 [UQX_SolutionAssessmentBPF_bpf_incidentid_OdsStatus] ON [dbo].[SolutionAssessmentBPF] ([bpf_incidentid], [OdsStatus])

创建非聚集索引 [NCI_SolutionAssessmentBPF_OdsModifiedDate] ON [dbo].[SolutionAssessmentBPF] ([OdsModifiedDate])
GO

从生成的动态 SQL 中删除 GO 语句后,此问题得到修复。请删除 GO 语句和任何与 Windows 格式不兼容的不可打印字符。这应该可以解决此类问题。

I am too facing the same issue, but not sure about what causes it. When copy paste the in query editor, able to execute it.

Thorough procedure only it failing

Scripts generated from my procedure.

Msg 102, Level 15, State 1, Line 366
Incorrect syntax near 'GO'.
Msg 156, Level 15, State 1, Line 370
Incorrect syntax near the keyword 'CREATE'.
Msg 102, Level 15, State 1, Line 371
Incorrect syntax near 'GO'.

CREATE TABLE dbo.[SolutionAssessmentBPF]
( businessprocessflowinstanceid uniqueidentifier NOT NULL , StatusReasonCode int NULL , TimeZoneRuleVersionNumber int NULL , TraversedPath nvarchar (1250) NULL , UTCConversionTimeZoneCode int NULL , TenantId int NOT NULL , OdsCreatedDate datetime NOT NULL DEFAULT GETUTCDATE() , OdsModifiedDate datetime NOT NULL DEFAULT GETUTCDATE() , OdsStatus tinyint NULL DEFAULT 0 , VersionNumber bigint DEFAULT -1
, CONSTRAINT [PK_SolutionAssessmentBPF] PRIMARY KEY CLUSTERED
(
businessprocessflowinstanceid,TenantId ASC ))
GO

CREATE UNIQUE INDEX [UQX_SolutionAssessmentBPF_bpf_incidentid_OdsStatus] ON [dbo].[SolutionAssessmentBPF] ([bpf_incidentid], [OdsStatus])
GO
CREATE NONCLUSTERED INDEX [NCI_SolutionAssessmentBPF_OdsModifiedDate] ON [dbo].[SolutionAssessmentBPF] ([OdsModifiedDate])
GO

This issue is got fixed after removing GO statement from dynamic SQL generated. Please remove GO statement and any non printable character which is not compatible with windows format. That should fix this kind of issues.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文