我试图在另一个存储过程中使用Sp_configure Proc,但是收到错误。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Test01
AS
BEGIN
SET NOCOUNT ON;
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE
Go
END
GO
错误来了: -
Msg 102,Level 15,State 1,Procedure Test01,Line 6 'sp_configure'附近的语法不正确。 配置选项'Ad Hoc Distributed Queries'从1更改为1.运行RECONFIGURE语句进行安装。 Msg 102,Level 15,State 1,Line 1 'END'附近的语法不正确。
答案 0 :(得分:9)
GO不是TSQL命令。它是查询窗口中的批处理分隔符。 RECONFIGURE之后的第一个GO有效地结束了存储过程的定义。调用程序时还需要使用EXEC。请参阅下面的代码。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Test01
AS
BEGIN
SET NOCOUNT ON;
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
RECONFIGURE
END
GO