dbms_metadata.get_ddl的使用
dbms_metadata.get_ddl的使用
對於這個函式我覺得有以下幾個方面的用處。
1、想要詳細的瞭解一個物件的屬性。
2、獲得物件建立的DDL語句,用於物件的重建或者重用其中的一部分。
SQL> set linesize 300--設定sqlplus 中輸出的寬度為足夠寬,以免輸出換行。
SQL> set long 100000--dbms_metadata.get_ddl 函式返回的型別是clob,所以設定long為足夠大。
SQL> set pagesize 0--禁用分頁。
SQL> select dbms_metadata.get_ddl('TABLE','T','HR') from dual;
CREATE TABLE "HR"."T"
( "EMPLOYEE_ID" NUMBER(6,0),
"FIRST_NAME" VARCHAR2(20),
"LAST_NAME" VARCHAR2(25) NOT NULL ENABLE,
"EMAIL" VARCHAR2(25) NOT NULL ENABLE,
"PHONE_NUMBER" VARCHAR2(20),
"HIRE_DATE" DATE NOT NULL ENABLE,
"JOB_ID" VARCHAR2(10) NOT NULL ENABLE,
"SALARY" NUMBER(8,2),
"COMMISSION_PCT" NUMBER(2,2),
"MANAGER_ID" NUMBER(6,0),
"DEPARTMENT_ID" NUMBER(4,0)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS"
dbms_metadata.get_ddl 常用的有三個引數,object_type 指定物件型別,name 指定物件名稱,schema 指定物件所在的schema,預設是當前使用者。dbms_metadata.get_ddl 的輸出是可以直接使用的,比如先把表 t 刪除。
SQL> drop table t;
Table dropped.
使用剛才 dbms_metadata.get_ddl 的輸出,重建表t。
SQL> ed
Wrote file afiedt.buf
1 CREATE TABLE "HR"."T"
2 ( "EMPLOYEE_ID" NUMBER(6,0),
3 "FIRST_NAME" VARCHAR2(20),
4 "LAST_NAME" VARCHAR2(25) NOT NULL ENABLE,
5 "EMAIL" VARCHAR2(25) NOT NULL ENABLE,
6 "PHONE_NUMBER" VARCHAR2(20),
7 "HIRE_DATE" DATE NOT NULL ENABLE,
8 "JOB_ID" VARCHAR2(10) NOT NULL ENABLE,
9 "SALARY" NUMBER(8,2),
10 "COMMISSION_PCT" NUMBER(2,2),
11 "MANAGER_ID" NUMBER(6,0),
12 "DEPARTMENT_ID" NUMBER(4,0)
13 ) SEGMENT CREATION IMMEDIATE
14 PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
15 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
16* PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS"
SQL> /
Table created.
注:為了更加方便的儲存dbms_metadata.get_ddl 的輸出,可以使用spool。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-730527/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20230510]19c dg無法使用dbms_metadata.get_ddl檢視錶結構定義.txt
- Scrapy框架的使用之Scrapyrt的使用框架
- Urllib庫的使用一---基本使用
- Docker框架的使用系列教程(四)容器的使用Docker框架
- ActiveMQ的使用及整合spring的使用例項MQSpring
- vmstat的使用
- char *的使用
- mount 的使用
- conda的使用
- 索引的使用索引
- pinia的使用
- netcat的使用
- jextract的使用
- postman的使用Postman
- pycnblog的使用
- Tensorboard的使用ORB
- Playwright的使用
- TSkAnimatedImage 的使用
- TSkLabel的使用
- FlowableAPI的使用API
- hive 的使用Hive
- hiveBeen 的使用Hive
- yaml的使用YAML
- etcd的使用
- git的使用Git
- protobuf的使用
- axios的使用iOS
- Crontab 的使用
- pip 的使用
- DBV 的使用
- Docker的使用Docker
- Promise的使用Promise
- SVN的使用
- EndNote的使用
- git的使用+Git
- FutureTask的使用
- SpringAOP的使用Spring
- git 的使用Git
- Bootstarp的使用boot