zoukankan      html  css  js  c++  java
  • Oracle导出用户ddl语句 存储过程、触发器、函数、包、表、索引

    1. 生成sql脚本,SQL plus执行,类型名称、用户名需大写

    SET PAGESIZE 0
    SET TRIMSPOOL ON
    SET LINESIZE 10000
    SET LONG 90000
    SET FEEDBACK OFF
    SET FEED OFF
    SET ECHO OFF
    -- 指定文件路径,文件夹不能为空
    SPOOL E:ytzzcopyczbdc_dpschema_bdc_workflow.sql
    SELECT CASE
    WHEN U.OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION' , 'PACKAGE', 'TRIGGER') THEN
    DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, U.OBJECT_NAME, U.OWNER) ||
    CHR(10) || '/'
    ELSE
    DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, U.OBJECT_NAME, U.OWNER)||
    CHR(10) || ';'
    END AS SCOTT_DDL
    FROM DBA_OBJECTS U
    WHERE U.OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION', 'PACKAGE', 'TRIGGER')
    AND U.OWNER='TEST';
    SPOOL OFF;

     ps: 

    --去掉表的存储参数(例如,INITIAL、NEXT、FREELISTS等参数),那么可以使用DBMS_METADATA包中的函数SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',FALSE)来完成
    EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',FALSE);

    2. 查询

    -- 根据用户对象名和对象类型,查找对面内容 存储过程、函数、触发器 -- PROCEDURE TRIGGER FUNCTION PACKAGE
    SELECT DBMS_METADATA.GET_DDL('PROCEDURE', U.OBJECT_NAME,'BDCK')

    -- 任意用户登录都可以
    from dba_objects U
    where u.OBJECT_TYPE in ('PROCEDURE') and u.owner = 'BDCK'
    ;

    --查触发器内容 -- PROCEDURE TRIGGER FUNCTION
    SELECT DBMS_METADATA.GET_DDL('PROCEDURE', U.OBJECT_NAME)

    -- 当前登录用户
    FROM USER_OBJECTS U
    WHERE OBJECT_TYPE = 'FUNCTION'
    ;

    函数使用参数说明

    SQL> DESC DBMS_METADATA.GET_DDL
    PARAMETER TYPE MODE DEFAULT?
    ----------- -------- ---- --------
    (RESULT) CLOB
    OBJECT_TYPE VARCHAR2 IN
    NAME VARCHAR2 IN
    SCHEMA VARCHAR2 IN Y
    VERSION VARCHAR2 IN Y
    MODEL VARCHAR2 IN Y
    TRANSFORM VARCHAR2 IN Y

    补充 把clob转换为字符串

     SELECT dbms_lob.substr(DBMS_METADATA.GET_DDL('FUNCTION', 'FUNC_NAME', 'SCHEMA')) as 内容 FROM dual;

  • 相关阅读:
    Unity The Method Signature Matching Rule
    Unity The Property Matching Rule
    Unity The Type Matching Rule
    Unity The Custom Attribute Matching Rule
    Unity The Member Name Matching Rule
    Unity No Policies
    Unity The Return Type Matching Rule
    Unity The Parameter Type Matching Rule
    Unity The Namespace Matching Rule
    关于TSQL递归查询的(转)
  • 原文地址:https://www.cnblogs.com/shihx/p/13509737.html
Copyright © 2011-2022 走看看