【发布时间】:2018-11-28 13:46:49
【问题描述】:
是否可以从select语句中选择调用过程的参数?
EXECUTE PROCEDURE_NAME(para1,para2,para3,para4);
commit;
是否可以从选择查询中选择 para1,para2,para3,para4?
EXECUTE PROCEDURE_NAME((SELECT PARA1,PARA2,PARA3,PARA4 FROM TABLEA))
COMMIT;
我无权修改程序。
【问题讨论】:
-
一次一个参数? ... 大概。您尝试时收到了什么错误消息?
-
我不认为你可以这样做。但是你可以
SELECT PARA1, PARA2, PARA3, PARA4 INTO P1, P2, P3, P4 FROM TABLEA然后EXECUTE PROCEDURE_NAME(P1, P2, P3, P4) -
该选择返回多少行?您是否尝试将所有这些行中的值传递给过程?
-
@KaushikNayak 仅 1 行。
-
如果您的示例中像 3 或 4 这样的参数很少,最好在 Alex 的回答中使用方法。但是,不建议创建一个过程,该过程接受这么多参数都来自单个表/查询的列。参考光标将是更好的方法。
标签: oracle stored-procedures parameter-passing