gpt4 book ai didi

sql - 使用 exec() 在 sp 内执行运行时查询时遇到错误 "The default schema does not exist."

转载 作者:行者123 更新时间:2023-12-02 09:52:13 25 4
gpt4 key购买 nike

我在 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

您登录的用户必须具有不存在的默认架构。

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

此外,您还应该使用 quotename(@tableName) 和参数类型 sysname 而不是 varchar(100) 以避免 SQL 注入(inject)或只是来自非标准对象名称的错误。

关于sql - 使用 exec() 在 sp 内执行运行时查询时遇到错误 "The default schema does not exist.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com