欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 查看表存储过程触发器函数等对象定义语句的方法

程序员文章站 2023-12-24 14:30:33
...

有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:1. 查 all_source 表2. 用 DBMS_METADATA 包。 一. 通过

有时候,我们想查看表,存储,,触发器等对象的定语语句,有以下两种方法:

1. 查 all_source 表

2. 用 DBMS_METADATA 包。


一. 通过 all_source 表


先来确认下,通过all_source 表可以查看哪些类型的对象:

SQL> SELECT distinct type FROM ALL_SOURCE;

TYPE

------------

PROCEDURE

PACKAGE

PACKAGE BODY

LIBRARY

TYPE BODY

TRIGGER

FUNCTION

JAVA SOURCE

TYPE


从以上的结果我们可以看到,我们可以通过该表查询的对象.


查看存储过程定义语句:

SQL> SELECT text FROM ALL_SOURCE where TYPE='PROCEDURE' AND NAME ='ADDCUSTBUSS';

TEXT

--------------------------------------------------------------------------------

PROCEDURE addcustbuss (

acustid IN custbuss.custid%TYPE,

bussname IN custbuss.businessname%TYPE,

aopid IN custbuss.opid%TYPE,

acreatetime IN custbuss.createtime%TYPE,

aCustTel IN custbuss.CustTel%TYPE,--客户电话

aContact IN custbuss.Contact%TYPE,--联系人

aFeedback IN custbuss.Feedback%TYPE,--客户反馈

asid OUT custbuss.ID%TYPE,

RESULT OUT INTEGER

)

IS

BEGIN

RESULT := -1;


SELECT getarea || TO_CHAR (idseq.NEXTVAL, 'FM0999999999')

INTO asid

FROM DUAL;


INSERT INTO custbuss

(ID, custid, businessname, opid, createtime,CustTel,Contact,Feedback

)

VALUES (asid, acustid, bussname, aopid, acreatetime,aCustTel,aContact,aFeedback

);

RESULT := 0;

EXCEPTION

WHEN OTHERS

THEN

RESULT := -1;

END addcustbuss;

已选择32行。

SQL>


查看触发器 定义语句

SQL> SELECT text FROM ALL_SOURCE where TYPE='TRIGGER' AND NAME ='TRDB_TEAM';

TEXT

-----------------------------------------------------------------------------

TRIGGER "NEWCCS".trdb_team

BEFORE DELETE

ON team

REFERENCING NEW AS NEW OLD AS OLD

FOR EACH ROW

BEGIN

DELETE FROM team_teamgroup_map

WHERE teamid = :OLD.teamid;

END trdb_team;

已选择10行。


方法也比较简单,修改TYPE 和 NAME 就可以。 注意要大写。

Oracle 查看表存储过程触发器函数等对象定义语句的方法

上一篇:

下一篇: