在SQL Server中传递大量参数的最佳方法是什么

Gru*_*key 7 xml parameters ado.net sql-server-2005

我正在尝试找出将大量参数传递到存储过程的最佳方法.

我正在考虑的一些方法是;

  1. 创建相关的数据库对象,包括每个项的参数对象并调用命令对象

  2. 传入XML文档并将存储过程解压缩.(该应用程序已经是XML格式的)

如果有人有更好的想法,我愿意听取他们的意见

谢谢.

u07*_*7ch 5

XML 处理对于处理大量参数非常方便。您可以轻松地以 XML 形式传入参数,然后进行 xml 处理以获取值。如果您的数据已经是 .Net,那就更好了。

例如

DECLARE @WidgetsIds xml
SET @WidgetsIds ='<Widgets><id>3</id><id>6</id><id>15</id></Widgets >' 

SELECT
ParamValues.ID.value('.','VARCHAR(20)')
FROM @Widgets.nodes('/widgets/id') as ParamValues(ID) 
Run Code Online (Sandbox Code Playgroud)

这应该返回 3 行:3、6、15。打开它以提取所需的值并对其进行操作很容易。