2009/11/20

Oracle PL/SQL 中, 使用 dbms_metadata.get_ddl 得知物件建立時的 DDL 語法


雖然目前有許多的 Oracle Tools 可以得知 DDL 語法,

但你若想在 Oracle PL/SQL 中, 透過指令取得 DDL 語法也是可行,

可以透過 dbms_metadata.get_ddl 得知物件的 DDL 語法.

 指令
dbms_metadata.get_ddl( 'object_type'
, 'object_name'
, 'schema'
)


 範例
-- 建立 Test Table
create table tom1 (
aa number
, bb varchar2(10)
);

-- 得知 tom1 的 ddl 語法
select dbms_metadata.get_ddl( 'TABLE', 'TOM1', 'APPS' )
from dual;

-- 結果
CREATE TABLE "APPS"."TOM1"
( "AA" NUMBER,
"BB" VARCHAR2(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "APPLSYSD"



這樣, 有時就可透過這, 做一些處理了.