回答

收藏

oracle选择内部调用存储过程

技术问答 技术问答 234 人阅读 | 0 人回复 | 2023-09-14

我正在处理一个查询(一个查询)SELECT),我需要将查询结果插入表中。在插入之前,我需要做一些检查,如果所有列都有效,我会插入。
% b5 L. Q: S, Q0 i- k) }检查是在存储过程中完成的。同样的过程也用于其他地方。因此,我正在考虑使用相同的检查过程。; s) `2 {3 Z2 g9 r/ l( y- l
检查程序并插入值。5 ^+ p3 V1 X; \* j9 [
我试图在SELECT内部调用过程,但不起作用。+ R! t& x$ [" o- @
SELECT field1,field2,myproc(field1,field2)from MYTABLE.这种代码不起作用。8 \9 j( \4 o+ Z. l+ J: h
我认为这个操作可以用游标来完成,但我想避免使用游标。我正在寻找最简单的解决方案。
, a5 Q# {; Y% y* z3 w' f有人有什么想法吗?
; y' Y- H: R+ r                                                               
7 O3 R7 H: d, }( l# j    解决方案:                                                                $ v" |# Z3 b2 z& z
                                                                使用PL / SQL循环:) V* Y0 B0 c9 h
BEGIN   FOR c IN (SELECT field1,field2 FROM mytable) LOOP       my_proc(c.field1,c.field2);   END LOOP;END;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则