Oracle DBMS_Metadata vs. Built-in Engine

Choose a preferable extraction method to migrate your system or create new objects with the help of objects DDL.
Since the version 4.7, SQLDetective supports Oracle's proprietary package DBMS_METADATA to extract objects DDL (data definition language). In previous versions, DDL extraction was restricted to SQLDetective's Built-in engine only, and now you can opt for either of them.
The package DBMS_METADATA appeared in Oracle 9i as a ready-made alternative to extract DDL using SQL statements or by exporting and parsing database schemas.
In the majority of modules, SQLDetective lets you choose the engine before the extraction, but in the Object Wizards and ContentSelector of the Object Navigator, the priority engine is applied automatically.

DBMS_METADA is selected by default, but since it has object limitations, embedded engine is used for unsupported object types. On the whole, DBMS_METADATA can extract DDL for 31 object types:
Table, View, Procedure, Function, Package, Package Body, Type, Object Type Body, Trigger, Index, Constraint, Sequence, Cluster, Materialized View, Materialized View Log, Index Type, Operator, Dimension, Outline, Library, DBLink, Synonym, Granted Role, DBA Role, User, Profile, Directory, Context, Tablespace, Rollback Segment, Unified Audit Policy
For all others, SQLDetective uses the Built-in extraction engine supporting total 59 object types. Keep this in mind when extracting DDL for a whole schema.

You can define the priority engine and other related settings in Preferences or prior to DDL extraction. The layout and formatting of the output DDL differs depending on the used engine as well. Let's see an example of DDL extracted from an EMP table of the SCOTT schema:
SQLDetective's Built-in Engine
To validate what engine was used, use the automatically generated comments in the output code.
Note: DDL extraction via DBMS_METADATA is also supported by ClearDB Documenter 5 and later.