我有存储过程,我必须传递参数,但问题是我不确定要传入多少个参数,它可以是 1,下次运行它可以是 5。
cmd.Parameters.Add(new SqlParameter("@id", id)
谁能帮助我如何在存储过程中传递这些可变数量的参数?谢谢
原文由 CPDS 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有存储过程,我必须传递参数,但问题是我不确定要传入多少个参数,它可以是 1,下次运行它可以是 5。
cmd.Parameters.Add(new SqlParameter("@id", id)
谁能帮助我如何在存储过程中传递这些可变数量的参数?谢谢
原文由 CPDS 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答2.4k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
367 阅读
您可以将它作为逗号分隔的列表传递,然后使用拆分函数,并加入结果。
现在你的存储过程:
然后调用它:
您可以在此处查看一些背景、其他选项和性能比较:
但是,在 SQL Server 2016 或更高版本上,您应该查看
STRING_SPLIT()
和STRING_AGG()
: