0
我使用的是Oracle 11g數據庫和我所用,因爲有數據,由於外鍵約束恢復數據庫時執行導入數據泵命令impdp
之前運行下面的腳本。Oracle導入呼叫流程
SET SERVEROUTPUT ON;
declare
begin
for c1 in (select table_name, constraint_name from user_constraints) loop
begin
execute immediate ('alter table '||c1.table_name||' disable constraint '||c1.constraint_name);
end;
end loop;
for t1 in (select table_name from user_tables) loop
begin
dbms_ouput.put_line(t1.table_name);
execute immediate ('truncate table '||t1.table_name);
end;
end loop;
我的問題是,有沒有什麼辦法來自動執行此手動過程,以便每當我執行導入數據泵腳本,存儲過程/函數會先執行呢?
例如:
$ORACLE_HOME/bin/impdp ..... TABLE_EXISTS_ACTION=TRUNCATE .... ACTION_FIRST=STOREDPROC_CLEANUP_FIRST
您可以隨時批量自動化這一點,所以你之前運行禁用/啓用約束腳本/導入後。 – Rene