通过Oracle 9i的DBMS_METADATA包得到DLL语句

75148194

75148194

2016-02-19 18:32

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的通过Oracle 9i的DBMS_METADATA包得到DLL语句,手机电脑控们准备好了吗?一起看过来吧!

  通过Oracle 9i的DBMS_METADATA包得到DLL语句

  基本上用到的语法如下:

  a.获取单个的建表和建索引的语法  

   setheadingoff;
  setechooff;
  setpages999;
  setlong90000;
  spooldept.sql
  selectdbms_metadata.get_ddl(table,dept,scott)fromdual;
  selectdbms_metadata.get_ddl(index,dept_idx,scott)fromdual;
  spooloff;

  b.获取一个schema下的任何建表和建索引的语法,以scott为例:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

   setpagesize0
  setlong90000
  setfeedbackoff
  setechooff
  spoolscott_schema.sql
  connectscott/tiger;
  selectdbms_metadata.get_ddl(table,u.table_name)
  fromuser_tablesu;
  selectdbms_metadata.get_ddl(index,u.index_name)
  fromuser_indexesu;
  spooloff;

  c. 获取某个schema的建全部存储过程的语法  

   connectbrucelau/brucelau;
  spoolprocedures.sql
  select
  dbms_metadata.get_ddl(procedure,u.object_name)
  from
  user_objectsu
  where
  object_type=procedure;
  spooloff;

  另: 

  dbms_metadata.get_ddl(table,tab1,user1)

  三个参数中,第一个指定导出ddl定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。

  从Oracle 9i开始Oracle提供了一个新的系统包DBMS_METADATA,可以用于提取对象创建的DDL语句。 

  这个Package功能极其强大,我们来看看它的使用方法.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  1.获得表的创建语句. 

  SQLdescdbms_metadataFUNCTIONADD_TRANSFORM.RETURNSNUMBER...FUNCTIONGET_DDLRETURNSCLOBArgumentNameTypeIn/OutDefault?
  OBJECT_TYPEVARCHAR2INNAMEVARCHAR2INSCHEMAVARCHAR2INDEFAULTVERSIONVARCHAR2INDEFAULTMODELVARCHAR2INDEFAULTTRANSFORM.VARCHAR2INDEFAULT....
  SQLsetlong2000
  SQLselectdbms_metadata.get_ddl('TABLE','TEST')fromdual;
  DBMS_METADATA.GET_DDL('TABLE','TEST')
  --------------------------------------------------------------------------------
  CREATETABLE"SYS"."TEST"
  ("OWNER"VARCHAR2(30),
  "OBJECT_NAME"VARCHAR2(128),
  "SUBOBJECT_NAME"VARCHAR2(30),
  "OBJECT_ID"NUMBER,
  "DATA_OBJECT_ID"NUMBER,
  "OBJECT_TYPE"VARCHAR2(18),
  "CREATED"DATE,
  "LAST_DDL_TIME"DATE,
  "TIMESTAMP"VARCHAR2(19),
  "STATUS"VARCHAR2(7),
  "TEMPORARY"VARCHAR2(1),
  "GENERATED"VARCHAR2(1),
  "SECONDARY"VARCHAR2(1)
  )PCTFREE10PCTUSED40INITRANS1MAXTRANS255NOCOMPRESSLOGGING
  STORAGE(INITIAL65536NEXT1048576MINEXTENTS1MAXEXTENTS2147483645
  PCTINCREASE0FREELISTS1FREELISTGROUPS1BUFFER_POOLDEFAULT)
  TABLESPACE"SYSTEM"
  SQL

  2.进一步的,可以通过dbms_metadata获得更全面的DDL语句

  Oracle提供一个全面的范例:  

   $ORACLE_HOME/rdbms/demo/mddemo.sql

  包括索引、授权、触发器等所有DDL语句都可以被提取。

  有兴趣的可以参考该文件,按照Demo的例子进行测试。

展开更多 50%)
分享

猜你喜欢

通过Oracle 9i的DBMS_METADATA包得到DLL语句

编程语言 网络编程
通过Oracle 9i的DBMS_METADATA包得到DLL语句

使用DBMS_METADATA包获得对象DDL

电脑网络
使用DBMS_METADATA包获得对象DDL

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Oracle 9i 视图

编程语言 网络编程
Oracle 9i 视图

Oracle 9i锁

编程语言 网络编程
Oracle 9i锁

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle 9i索引

编程语言 网络编程
Oracle 9i索引

Oracle 9i 审计

编程语言 网络编程
Oracle 9i 审计

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Oracle中的一些相关指令的使用

Oracle中的一些相关指令的使用

CSS:text-decoration

CSS:text-decoration
下拉加载更多内容 ↓