在一个变量 sql 中接收多个值
Posted
技术标签:
【中文标题】在一个变量 sql 中接收多个值【英文标题】:Receive several values in one variable sql 【发布时间】:2014-07-30 02:23:15 【问题描述】:我想接收多个数据并将其存储在 SQL Server 中的变量中,但是存储过程和函数不允许将表类型设置为变量,还有其他方法吗?
我需要它,因为我想制作一个从Java发送数据的方法,但是我不知道在使用函数或存储过程时如何将多个数据发送到单个变量,如果有任何方法可以做到这一点,如果你让我知道,我将不胜感激。
【问题讨论】:
也许这会帮助您开始了解光标。 ***.com/questions/1479680/… @Charlesliam 在这种情况下 CURSOR 如何帮助我? 一种方法可能是设置一个临时表,用代码中的数据填充它,然后在存储过程中使用这个临时表。 @Szymon 我想过,但是如果是临时表,我将如何从 Java 发送数据? 我不完全确定 Java 中的详细信息,但我相信您可以发送诸如create table #name...
、insert into #name values...
之类的查询
【参考方案1】:
如果必须,解决将类似表的数据结构传递给存储过程/函数的问题的一种方法是使用临时表:
从您的代码中创建一个临时表(例如#yourname
)并向其中插入记录。您可以使用create table
和insert into
执行此操作,如果需要,将所有数据分批发送,例如
create table #yourname (col1 int); insert into #yourname values (1); insert into #yourname values(2);
在存储过程中使用带有填充数据的表。
【讨论】:
您能否举个例子说明您给出的答案,实际上这就是我们在 cmets 中讨论的内容,谢谢 @NonExistent 添加了一个示例。 感谢您的编辑,您知道在单个变量中将许多数据发送到 sql server 的其他方法吗? 我对 Java 不太确定。在 .NET 中,您可以为存储过程创建一个表变量参数,并从代码中传递一个 DataTable。以上是关于在一个变量 sql 中接收多个值的主要内容,如果未能解决你的问题,请参考以下文章