Parameter names
A list of parameter name that I like to set is shown in the following code snippet.
begin
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'CONSTRAINTS_AS_ALTER', false); -- Default: false, requires CONSTRAINTS = TRUE.
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'CONSTRAINTS' , true ); -- Default: true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'EMIT_SCHEMA' , false); -- undocumented remove schema (https://stackoverflow.com/a/34532685/180275), default seems to be true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'PARTITIONING' , false); -- Default: true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'PRETTY' , true ); -- Default: true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS' , true ); -- Default: true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES' , true ); -- Default: true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_CREATION' , false);
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SIZE_BYTE_KEYWORD' , false); -- Default: false
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SQLTERMINATOR' , false); -- Default: false | If true, a semicolon or slash will be added after the extracted DDL statement. Useful if extracted statements need to be run in SQL*Plus.
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'STORAGE' , true ); -- Default: true
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'TABLESPACE' , false); -- Default: true
end;
/
Note that the parameter names are case sensitive.
Use default values
Calling set_transform_param
with the parameter name 'DEFAULT' revert all transformations back to their default values:
begin
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'DEFAULT');
end;
/