我可以配置dbms_metadata.get_ddl()
为省略生成对象的模式名称吗?
我设置了这些变换参数
begin
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'PRETTY',true);
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SQLTERMINATOR',true);
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SEGMENT_ATTRIBUTES',false);
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'STORAGE',false);
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'TABLESPACE',false);
end;
并执行此查询
select to_char(dbms_metadata.get_ddl('TABLE','FOO')) from dual;
并为我的桌子接收这个 ddl。我想有只是"FOO"
而不是"MH"."FOO"
。
CREATE TABLE "MH"."FOO"
( "X" NUMBER
) ;
您会在回答为没有使用 DBMS_METADATA.GET_DDL 烘焙模式名称的对象生成 DDL 脚本的答案中找到这样做的方法?在堆栈溢出:使用
EMIT_SCHEMA
转换:据我所知,这种转换是无证的。(可能至少存在到 9.2。)您可以在两个支持文档中找到它: