gpt4 book ai didi

sql-server - sp_executesql 中的命名参数

转载 作者:行者123 更新时间:2023-12-03 19:56:22 24 4
gpt4 key购买 nike

有什么方法可以使用不依赖于它们在商店中定义的顺序的参数调用 sp_executesql 吗?与 exec 相同的查询效果很好,如果您有相同的顺序,它也可以很好地工作,但是必须一个一个地匹配参数很痛苦,因为有时我会使用助手动态生成调用,如果 dto 对象不'没有相同顺序的相同字段,效果不佳。

create procedure ordertest
@PARAM1 INT,
@PARAM2 INT
AS
BEGIN
SELECT @PARAM1 AS ONE, @PARAM2 AS TWO
END

-- this works
EXEC ordertest @PARAM1 = 1, @PARAM2 = 2
exec sp_executesql N'exec ordertest @PARAM1, @PARAM2', N'@param1 int, @param2 int', @param2 = '2', @param1 = '1'
EXEC ordertest @PARAM2 = 2, @PARAM1 = 1

-- this doesn't work
exec sp_executesql N'exec ordertest @PARAM2, @PARAM1', N'@param1 int, @param2 int', @param2 = '2', @param1 = '1'

最佳答案

你当然可以做到这一点。您只需要在调用它时添加哪个参数是哪个。

exec sp_executesql N'exec ordertest @PARAM2 = @Param2, @PARAM1 = @Param1', N'@param1 int, @param2 int', @param2 = '2',  @param1 =  '1'

关于sql-server - sp_executesql 中的命名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28457147/

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