我在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
友善的帮助
使用 CREATE PROCEDURE dbo.MySP
CREATE PROCEDURE dbo.MySP
您登录的用户必须具有不存在的默认架构。
可以将DEFAULT_SCHEMA设置为数据库中当前不存在的架构。
另外,您应该使用quotename(@tableName)和参数类型,sysname而不是varchar(100)避免SQL注入或仅从非标准对象名称中出错。
quotename(@tableName)
sysname
varchar(100)