需要根据传入参数动态查询,动态生成cursor或者动态执行SQL的DML操作。
1.简单的查询
SELECT ABC from TableA where ORDER_ID IN ( P_OrderIds) ;
2. 动态生成cursor
定义游标和变量:
type v_cursor is ref cursor;
C1 v_cursor; v_command varchar2(2000);
v_command := ''SELECT ABC from TableA where ORDER_ID IN ( '' ||P_OrderIds|| '' ) '';
OPEN C1 for v_command;
3.动态DML操作
v_command2 := ''UPDATE TableA
SET ASSET_TYPE_CD = ''''''||P_Asset_Type||'''''',''
||''ASSET_SUBTYPE_CD = ''''''||P_Asset_SubType||''''''''
||''WHERE ORDER_ID IN ( ''||P_OrderIds||'' ) '';
execute immediate v_command2;(动态sql)
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com