如何将动态参数传递给存储过程

时间:2015-05-07 05:38:10

标签: sql sql-server sql-server-2008

我根据表格的列设计了完全动态的布局。假设当用户在表中添加新列时,如果不修改任何逻辑,它将在页面上显示该列。

到目前为止,它的工作正常。但我面临着在数据库中保存数据的障碍。

如何保存此数据,因为我没有在存储过程中指定满足我要求的参数。我想动态传递它。

1 个答案:

答案 0 :(得分:0)

您可以将public void doWork(String a, Integer b) { .. .. for (Integer i : numbers) { getService().doingMoreWork(a, b); } } 参数传递给存储过程。所以你可以创建一个这样的表类型

TABLE

然后你必须改变你的程序以接受LIST_OF_PARAMS类型的变量。

这样的事情:

 CREATE TYPE LIST_OF_PARAMS AS TABLE (id int, NAME VARCHAR) 

另请注意:

  

请注意,在 SQL Server 2008中,表值参数是只读的。   但是你注意到我们实际上要求你写READONLY。以便   实际上,这意味着在未来的某个时刻,如果你说的话   拜托,请经常我们可以实际制作   它们在某些时候也是可写的。但目前他们正在阅读   仅