declare
v_cnt number(1);
begin
select count(1) into v_cnt from user_tables where lower(table_name)='t_batch_job_sub_bak';
if v_cnt > 0 then
execute immediate 'drop table t_batch_job_sub_bak';
end if;
execute immediate 'create table t_batch_job_sub_bak as select * from t_batch_job_sub';
execute immediate 'alter table t_batch_job_sub disable constraint FK_BATCH_JOB_SUB__PIECE_ID';
execute immediate 'truncate table t_batch_job_sub';
execute immediate 'alter table t_batch_job_sub enable constraint FK_BATCH_JOB_SUB__PIECE_ID';
end;
/
v_cnt number(1);
begin
select count(1) into v_cnt from user_tables where lower(table_name)='t_batch_job_sub_bak';
if v_cnt > 0 then
execute immediate 'drop table t_batch_job_sub_bak';
end if;
execute immediate 'create table t_batch_job_sub_bak as select * from t_batch_job_sub';
execute immediate 'alter table t_batch_job_sub disable constraint FK_BATCH_JOB_SUB__PIECE_ID';
execute immediate 'truncate table t_batch_job_sub';
execute immediate 'alter table t_batch_job_sub enable constraint FK_BATCH_JOB_SUB__PIECE_ID';
end;
/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27500440/viewspace-1824875/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27500440/viewspace-1824875/
本文介绍了一段Oracle PL/SQL代码,用于检查并删除名为t_batch_job_sub_bak的表,然后从另一个表t_batch_job_sub创建一个新的备份表,并禁用、清空后重新启用外键约束。
886

被折叠的 条评论
为什么被折叠?



