1. 程式人生 > >oracle之 獲取建表ddl語句

oracle之 獲取建表ddl語句

第一種方法是使用工具,如:
pl/sql developer,在【工具】--【匯出使用者物件】出現就可以得到建表指令碼。


第二種方法是,sql語句。

DBMS_METADATA.GET_DDL包可以得到資料庫的物件的ddl指令碼。如下(SQLPLUS中執行): 

1.得 到一個表的ddl語句:

SET SERVEROUTPUT ON 
SET LINESIZE 1000 
SET FEEDBACK OFF 
set long 99999           
set pagesize 4000   

---去除storage等多餘引數(可選)
SQL> EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);  

-- 獲取ddl        ##('TABLE','表名','使用者名稱')
SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','CBZS_DMCODE_DEP_TYPE','MOBILE_CBZS') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','CBZS_DMCODE_DEP_TYPE','MOBILE_CBZS')
--------------------------------------------------------------------------------


  CREATE TABLE "MOBILE_CBZS"."CBZS_DMCODE_DEP_TYPE"
   (    "TYPE_ONE" VARCHAR2(6),
        "TYPE_ONE_DESC" VARCHAR2(30),
        "TYPE_TWO" VARCHAR2(6),
        "TYPE_TWO_DESC" VARCHAR2(30),
        "TYPE_ONE_ORD" NUMBER,
        "TYPE_TWO_ORD" NUMBER
   ) PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255 COMPRESS LOGGING
  TABLESPACE "DM_TBS_001"


2.得到一個使用者下的所有表,索引,儲存過程的ddl

 SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)   FROM USER_OBJECTS u  where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');

3.得到所有表空間的ddl語句

SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name) FROM DBA_TABLESPACES TS;

4.得到所有建立使用者的ddl

SELECT DBMS_METADATA.GET_DDL('USER',U.username)  FROM DBA_USERS U;

另外,若執行不了該包,則需要正確安裝好相應的包。

拓展:-- 通過dblink補資料
insert into MOBILE_CBZS.MSS_BMS_ZHIJU_YUSUAN select * from
[email protected]

相關推薦

oracle 獲取ddl語句

第一種方法是使用工具,如: pl/sql developer,在【工具】--【匯出使用者物件】出現就可以得到建表指令碼。 第二種方法是,sql語句。 DBMS_METADATA.GET_DDL包可以得到資料庫的物件的ddl指令碼。如下(SQLPLUS中執行):  1.得 到

MySQL創語句

unique col 服務 add 作用 寫法 表名 desc 約束 1 show variables like ‘character_set_client‘;#查詢字符集 2 show databases;#列出所有的服務器上的數據庫alter 3 create

Oracle Rac創空間及用戶

tput rod end put use pac str exce source 1. 創建表空間: BEGIN DECLARE cnt integer := 0; BEGIN SELECT 1 INTO cnt FROM dual WHERE exists(SE

abap 開發維護生成器

忘記 問題: 保存 程序 顯示 alt sap log png 在sap開發中有時需要對一些自建表維護數據,但又不想寫程序,怎麽辦呢??這個時候我們可以直接生成個表維護生成器,為其定義一個事物碼就ok了。以下是表格維護生成器的生成步驟。 首先我們需要先定義表。輸入事務

Oracle分區

less light highlight to_date name range p2s part oracl CREATE TABLE table_name ( xx NUMBER(16,0) NOT NULL ENABLE, tiems date PRIM

SQLALchemy,刪除

alc 創建 all data- unique prim nullable 利用 cad 1、創建引擎 "數據庫+第三方模塊://用戶名:密碼@數據庫服務端IP:端口號/數據庫名?編碼" engine = create_engine( "mysql+p

layui獲取form單的radio

form表單是這樣的: <div class="layui-form-item"> <label class="layui-form-label">單選框</label> <div class="layui-input-bloc

Oracle11g創空間語句

local user efault 建表 ogg 給用戶授予權限 sql 語句 建立 在plsql工具中執行以下語句,可建立Oracle表空間。 ----轉發 /*分為四步 *//*第1步:創建臨時表空間 */create temporary tablespace y

【java小程式實戰】小程式短視訊專案資料庫

 最近自己在練習一個java小程式短視訊的專案,希望每天通過文章的形式把開發內容和學習到的東西記錄下來。  一個專案的開始就是資料庫建表,首先我們要有一個使用者表,記錄使用者的一些資訊   使用者表-user 欄位

MySQL---新增語句

建立學生表,表名student,根據需求,需要儲存學號,姓名,性別、生日4列資訊: mysql -uroot -p               ---以root使用者本地連線MYSQL資料庫 mysq

RaceWeb終於可以在oracle中快速

一直沒時間弄,這幾天終於抽點時間搞一下程式,成功了。記錄一下,慶賀一下。 目前RaceWeb可以支援的資料庫型別有Firebird、SqlServer、Oracle。下一步目標是SQLite。 2014-6-10 17:25:57: 2014-6-10 17:25:57

Oracle 儲存過程中的DDL語句

Oracle的儲存過程,是我們使用資料庫應用開發的重要工具手段。在儲存過程中,我們大部分應用場景都是使用DML語句進行資料增刪改操作。本篇中,我們一起探討一下資料定義語句DDL在儲存過程中使用的細節和要點。 1、“借道而行”的DDL 從Oracle PL/SQL和儲存過

mysql查詢語句總結

一.欄位型別: 1.數字型別:tinyint,smallint,mediumint,int,bigint,float,double,decimal 2.字串型別:char、varchar,blob,enum,set 3.日期型別:date,time,datetime,tim

oracle 手動

 1、-- 檢視伺服器 ORA 環境變數情況 [[email protected] ~]$ env|grep ORA ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/11.2.0/

我的理解資料庫三正規化

為了建立冗餘較小、結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計一個結構合理的關係型資料庫,必須滿足一定的正規化。

oracle分組排序+無效字元+按固定順序排序

一、oracle分組後排序,取每組第一條資料 根據COL1欄位分組,然後每組按COL2排序取最大的那一條 SELECT *           FROM (SELECT ROW_NUMBER()

ORACLE如何使用DBMS_METADATA.GET_DDL獲取空間,使用者,檢視等的DDL語句

1.顯示設定: /*建立DBMS_METADATA: @?/rdbms/admin/catmeta.sql */ SETSERVEROUTPUTON SETLINESIZE1000 SETFEEDBACKOFF setlong999999 S

【Python】desc獲取結構建立oracle 語句

由於某些oracle系統許可權管理的特別嚴格,或者某些表或檢視由多張表組成, 從而導致獲取建表語句十分困難或者根本不可能,只能通過sqlplus連線到oracle, 只能通過desc命令獲取簡單的表結構。如下圖這樣: 複製到文字檔案後是這樣的: 對於數量較少的

數據庫 操作(DDL語句)和索引

數據庫 表操作 1 概述表是一種很重要的數據庫對象,是組成數據庫的基本元素,由若幹個字段組成。主要用來存儲數據記錄。表的操作,包含創建表、刪除表、修改表等。給表中的字段創建索引,將提高查詢的速度。表的操作涉及DDL: DataDefinationLanguage,數據定義語言,關鍵字:CREATE,

oracle子查詢、創用戶、創、約束

pre 條件 不為 varchar 作用 rim 修改 特點 刪除一個用戶 子查詢 子查詢可以分為單行子查詢和多行子查詢 單行子查詢   [1] 將一個查詢的結果作為另外一個查