gpt4 book ai didi

sql - 如何执行作为 sp 参数传递的 sql 文本?

转载 作者:行者123 更新时间:2023-12-02 07:14:28 24 4
gpt4 key购买 nike

我有一个带有 nvarchar 参数的存储过程。我希望调用者在使用此 SP 时提供 sql 命令的文本。

如何从 SP 中执行提供的 sql 命令?

这可能吗?-

我认为使用 EXEC 是可能的,但以下内容:

EXEC @script

错误指示无法通过给定名称找到存储过程。由于它是一个脚本,这显然是准确的,但让我认为它没有按预期工作。

最佳答案

使用:

BEGIN

EXEC sp_executesql @nvarchar_parameter

END

...假设参数是一个完整的 SQL 查询。如果不是:

DECLARE @SQL NVARCHAR(4000)
SET @SQL = 'SELECT ...' + @nvarchar_parameter

BEGIN

EXEC sp_executesql @SQL

END

注意 SQL Injection attacks ,我强烈推荐阅读 The curse and blessing of Dynamic SQL .

关于sql - 如何执行作为 sp 参数传递的 sql 文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285872/

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