可能重复:
T-SQL stored procedure that accepts multiple Id values
T-SQL是否适合将数组值作为存储过程的参数?如果是这样,怎么能实现。
答案 0 :(得分:2)
SQL Server 2005中的T-SQL方言既不支持数组也不支持任何类似的数组,因此它们必须是emulated。但是,SQL Server 2008支持table-valued parameters,它可以用作数组。
答案 1 :(得分:1)
我更喜欢使用的是逗号(或其他特殊字符)分隔列表,我将在我的sproc中首先拆分/爆炸。然后,这将为我提供一个值表,以便我可以在以后的存储过程中加入或执行其他操作。
您还可以查看传递表格参数,但我更喜欢我的方式,而不仅仅是个人偏好。
答案 2 :(得分:0)
通常会通过CSV传递,这显然是有限的。使用SQL 2005,Xml参数可能更适合,可能还有适合您需求的序列化器。
可能会有更多,如果我想到的话,我会回来的。
答案 3 :(得分:0)
sqlserver中没有数组。但是,你想做什么?作为参数的值会用于什么?您可以向sql发送一个“数组”,但sp必须是动态的。