Pal*_*esz 8 oracle dbms-metadata
如何在DBMS_METADATA.GET_DDL
没有模式名称的情况下为我的对象生成DDL脚本?
用DBMS_METADATA.GET_DDL
:
CREATE TABLE "MYSCHEMA"."MYTABLE"
(
"COL1" NUMBER(10,0)
)
Run Code Online (Sandbox Code Playgroud)
SQL Developer可以做到这一点,我认为它也使用DBMS_METADATA来实现这个目标并生成DDL脚本.
使用SQL Developer:
CREATE TABLE "MYTABLE"
(
"COL1" NUMBER(10,0)
)
Run Code Online (Sandbox Code Playgroud)
小智 16
我最近偶然发现了以下内容,它允许您获取没有架构名称的ddl.
它看起来比我目前为止看到的任何其他方式简单得多,尽管它没有包含在任何Oracle文档中.我在SQL Developer的语句日志中发现了它,它生成了没有模式名称的ddl.
DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, 'EMIT_SCHEMA', false);
Run Code Online (Sandbox Code Playgroud)
在调用DBMS_METADATA.GET_DDL之前,您不需要获取句柄或任何令人讨厌的EXEC上面的内容
将SET_REMAP_PARAM与REMAP_SCHEMA选项一起使用:
DBMS_METADATA.SET_REMAP_PARAM(th,'REMAP_SCHEMA','HR',NULL);
Run Code Online (Sandbox Code Playgroud)
这会将HR模式映射为NULL(但是,您需要一个作业句柄); 有关完整示例,请参阅metadata_api文档
归档时间: |
|
查看次数: |
7268 次 |
最近记录: |