create or replace procedure sp_t_date(in_start_date date,in_table_count pls_integer)
is
v_sql varchar2(4000);
v_receive char(8);
begin
v_receive:=to_char(in_start_date,'yyyymmdd');
for i in 0..in_table_count-1 loop
v_receive:=to_char(in_start_date+i,'yyyymmdd');
v_sql:='create table t_date'||v_receive||'(a int)';
execute immediate v_sql;
end loop;
end sp_t_date;
小结:
1,如果是拼接复杂的sql,为了逻辑清晰性及后期维护调试及故障定位
动态sql字符串一部分一部分叠加赋值,且每一部分添加dbms_output.put_line
输出动态sql字符串,
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-751315/
,如需转载,请注明出处,否则将追究法律责任。