2011-07-21 20 views
7

¿Cómo puedo generar el script DDL para mi objeto con DBMS_METADATA.GET_DDL sin el nombre de esquema integrado?¿Generación de secuencia de comandos DDL para el objeto sin nombre de esquema generado usando DBMS_METADATA.GET_DDL?

Con DBMS_METADATA.GET_DDL:

CREATE TABLE "MYSCHEMA"."MYTABLE" 
(
    "COL1" NUMBER(10,0) 
) 

SQL Developer puede hacer eso, y creo que también es utiliza el DBMS_METADATA a achive este objetivo y las secuencias de comandos DDL Generale.

Con SQL Developer:

CREATE TABLE "MYTABLE" 
(
    "COL1" NUMBER(10,0) 
) 
+1

Aquí está un ejemplo ... http://www.myoraclesupports.com/content/how- get-ddl-statement-using-dbmsmetadatagetddl-object-without-having-object-owner-ddl –

Respuesta

6

Uso SET_REMAP_PARAM con la opción REMAP_SCHEMA:

DBMS_METADATA.SET_REMAP_PARAM(th,'REMAP_SCHEMA','HR',NULL); 

Esto asociará el esquema HR a NULL (se necesita un manejador de trabajo, sin embargo); para ver un ejemplo completo, consulte metadata_api documentation

11

Recientemente me encontré con lo siguiente que le permite obtener ddl sin el nombre del esquema.

Parece mucho más simple que cualquier otra forma que he visto hasta ahora, aunque no está incluida en ninguna documentación de Oracle. Lo vi en las declaraciones Inicie sesión en SQL Developer, que genera ddl sin el nombre del esquema.

DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, 'EMIT_SCHEMA', false); 

No es necesario para obtener las asas o nada desagradables simplemente EXEC lo anterior antes de llamar DBMS_METADATA.GET_DDL

Cuestiones relacionadas