日期:2014-05-17 浏览次数:21824 次
FOR RPTT IN (select car_model_id from car_info where no='XXXX') LOOP select * car_state_'||RPTT.CORP_HEAD||'; end loop;
------解决方案--------------------
--在存储过程里面完成呗 --例: create or replace procedure yyp_cwdh(table_name varchar) is str_sql varchar2(400):=''; begin str_sql:='select * from '||table_name||' where 1=1'; execute immediate str_sql; end yyp_cwdh;
------解决方案--------------------
动态语句,就是在存储过程中用到的啊,难道你想一个SQL语句就出来????
------解决方案--------------------
CURSOR TASKLIST IS
Select JOB_NUM,
JOB_TYPE,
JOB_SERVICE_NAME,
JOB_NAME,
JOB_STATUS,
ERR_CODE,
ERR_MESSAGE,
DATELASTMAINT,
JOB_VALIDATE
From RP_TASKLIST
WHERE JOB_VALIDATE = 1
AND JOB_TYPE = 'GL'
And JOB_STATUS < IN_JOB_STATUS
ORDER BY JOB_NUM;
For R_TASKLIST IN TASKLIST LOOP
JOB_SERVICE_NAME_ := R_TASKLIST.JOB_SERVICE_NAME;
JOB_NUM_ := R_TASKLIST.JOB_NUM;
execute immediate 'BEGIN ' || R_TASKLIST.Job_Service_Name ||
'(:1,:2,:3);END;' --执行子任务
using in in_yyyymmdd, out out_ErrorNbr, out out_ErrorMsg;