2016-04-15 5 views
-1

Ich möchte Funktionen/Prozeduren aus einer anderen Datenbank nur diejenigen importieren, die nicht in meiner aktuellen Datenbank vorhanden sind. Ich habe Objektnamen dies mit: -Wie erstellt DDL fehlende Funktionen nach dem Vergleich mit einem anderen Schema in Oracle?

select OBJECT_NAME from dba_objects where owner = 'AKHSYS' and object_type in ('PROCEDURE', 'PACKAGE', 'FUNCTION', 'PACKAGE BODY') minus select OBJECT_NAME from dba_objects where owner = 'LDHSYS' and object_type in ('PROCEDURE', 'PACKAGE', 'FUNCTION', 'PACKAGE BODY'); 

aber wie kann ich DDL Skript aller Funktionen erstellen, die in meinem aktuellen Schema fehlen?

Antwort

1

Verwendung DBMS_METADATA. Beispiel:

SELECT owner, object_type, object_name, DBMS_METADATA.get_ddl (object_type, object_name, owner) 
    FROM (SELECT owner, OBJECT_NAME, object_type 
      FROM dba_objects 
     WHERE owner = USER AND object_type IN ('PROCEDURE', 'PACKAGE', 'FUNCTION')) 
ORDER BY 1,2,3   
Verwandte Themen