我正在尝试使用 user_indexes 和 DBMS_METADATA.GET_DDL 访问表的索引 DDL
declare
V_DDL clob;
Begin
for rec in (select ai.owner, ai.index_name, ai.table_name from all_indexes ai, base_table til
where ai.table_name = upper(til.table_name)) loop
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY',TRUE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'TABLESPACE',FALSE);
V_DDL := DBMS_METADATA.GET_DDL('INDEX',rec.Index_Name, Rec.Owner);
Insert into after_work VALUES(rec.index_name, rec.table_name, V_DDL);
end loop;
end;
/
我需要手动双击 INDEX_SCRIPT 列来查看 DDL 脚本。
我想了解的是如何通过 SQL 访问 DDL 脚本。请给我建议。谢谢你
我得到了如图所示的结果