将表中的列值作为参数传递给存储过程 sql
Posted
技术标签:
【中文标题】将表中的列值作为参数传递给存储过程 sql【英文标题】:Passing column values from a table as parameter to a stored procedure sql 【发布时间】:2018-03-09 08:25:29 【问题描述】:我有一个接受两个值的存储过程。
存储过程看起来像这样SP_Test(ID1,ID2)
。
我有一个 Oracle 表 T1,它有两列 ID1 和 ID2。我想从该表中读取每一行并将参数(ID1 和 ID2)传递给存储过程 SP_Test。
我怎样才能做到这一点?
谢谢 阿努沙
【问题讨论】:
Anusha :一个理想的解决方案是重组您的存储过程,以便获取和操作其中的行(如果需要)而不是多次调用它,特别是如果您从询问。因此,如果您可以展示该过程的一部分或描述它如何使用参数 id1、id2,我们或许可以向您推荐更好的方法。 【参考方案1】:在循环中?
begin
for cur_r in (select id1, id2 from t1) loop
sp_test (cur_r.id1, cur_r.id2);
end loop;
end;
【讨论】:
嗨,这只会删除第一个匹配项? 如果你这么说。我不知道你的过程是做什么的,我只是说如何为存储在 T1 表中的所有行运行它。以上是关于将表中的列值作为参数传递给存储过程 sql的主要内容,如果未能解决你的问题,请参考以下文章