Oracle Wrap Procedure

/* syntax */
$ wrap iname=p1.sql oname=p1.plb

/* For example: */
[oracle@localhost sql]$ vi p1.sql

CREATE OR REPLACE PROCEDURE "SYS"."P1"
is
begin
       dbms_output.put_line('okay');
end;
/

SQL> @./sql/p1.sql

Procedure created.
/* method_1 */
SQL> set serveroutput on

SQL> set long 999999
SQL> select dbms_metadata.get_ddl(object_type => 'PROCEDURE',name => 'P1') from dual;

DBMS_METADATA.GET_DDL(OBJECT_TYPE=>'PROCEDURE',NAME=>'P1')
--------------------------------------------------------------------------------

  CREATE OR REPLACE PROCEDURE "SYS"."P1"
is
begin
       dbms_output.put_line('okay');
end;

/* method_2 */
SQL> col text for a50
SQL> col name for a5
SQL> select * from user_source a where a.name='P1';

NAME  TYPE               LINE TEXT
----- ------------ ---------- --------------------------------------------------
P1    PROCEDURE             1 PROCEDURE       "P1"
P1    PROCEDURE             2 is
P1    PROCEDURE             3 begin
P1    PROCEDURE             4        dbms_output.put_line('okay');
P1    PROCEDURE             5 end;

/* wrap */

$ wrap iname=p1.sql oname=p1.plb

SQL> @./sql/p1.plb

Procedure created.

/* query again */
SQL> select * from user_source a where a.name='P1';

NAME  TYPE               LINE TEXT
----- ------------ ---------- --------------------------------------------------
P1    PROCEDURE             1 PROCEDURE       "P1" wrapped
                              a000000
                              369
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              abcd
                              7
                              43 79
                              f0Ol4oGWwTH7hPDl4A3DnBHngC8wg5nnm7+fMr2ywFxpnnzDCY
                              +bdIvAwDL+0oYJqaYfSZqP
                              MLVQyKlQLwDKSv4I0sc9aXJy3NjDsaCLwIHHLcmmphStL88=

 

/* or dbms_metadata.get_dll

FUNCTION GET_DDL RETURNS CLOB
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 OBJECT_TYPE                    VARCHAR2                IN
 NAME                           VARCHAR2                IN
 SCHEMA                         VARCHAR2                IN     DEFAULT
 VERSION                        VARCHAR2                IN     DEFAULT
 MODEL                          VARCHAR2                IN     DEFAULT
 TRANSFORM                      VARCHAR2                IN     DEFAULT
*/

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28859270/viewspace-777087/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28859270/viewspace-777087/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值