首页 文章

如何在另一个存储过程中使用sp_configure?

提问于
浏览
4

我试图在另一个存储过程中使用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

错误来了: -

消息102,级别15,状态1,过程Test01,行6'sp_configure'附近的语法不正确 . 配置选项'Ad Hoc Distributed Queries'从1更改为1.运行RECONFIGURE语句进行安装 . 消息102,级别15,状态1,行1'END'附近的语法不正确 .

1 回答

  • 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
    

相关问题