在很久很久以前 我还是个搞ETL的数据搬运工的时候,碰到这样的需求: 需要动态执行存储过程
declare
o_logdes varchar2(2000);
o_logcod varchar2(2000);
v_sql varchar2(2000);
i_acctdt date;
begin
v_sql := 'begin P_XXXX(:i_acctdt,:o_logcod,:o_logdes); end;';
execute immediate v_sql using in date'2016-07-27',out o_logcod,out o_logdes ;
end;
其中P_XXXX 代表的是一个存储过程 它有三个参数 (一个入参,二个返回值),一般ETL开发通用都是这样, 表示 执行过程
传入一个时间参数 返回日志code ,与日志描述信息。