代码之家  ›  专栏  ›  技术社区  ›  HotTester

当使用exec()在sp内部执行运行时查询时,遇到“默认架构不存在”错误。

  •  9
  • HotTester  · 技术社区  · 15 年前

    我在一个sp中进行了一个运行时查询,并使用exec()在sp中执行查询,但是在创建sp时,我得到了错误

    The default schema does not exist.
    

    SP是:

    CREATE PROCEDURE MySP
        @tableName varchar(100)
    
    AS
    BEGIN   
        SET NOCOUNT ON;
    
    declare @selectQuery varchar(MAX)
    
    set @selectQuery = 'select * from ' + @tableName
    
    exec(@selectQuery)
    
    end
    

    善意的帮助

    3 回复  |  直到 10 年前
        1
  •  16
  •   Martin Smith    15 年前

    CREATE PROCEDURE dbo.MySP

    DEFAULT_SCHEMA can be set to a schema that does not currently exist in the database.

    quotename(@tableName) sysname varchar(100)

        2
  •  7
  •   RaSor    10 年前

    ALTER USER [YOURDOMAIN\HotTester] WITH DEFAULT_SCHEMA=[dbo]
    GO
    

        3
  •  2
  •   codingbadger    15 年前

    dbo

    Create Procedure dbo.MySP