有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:1. 查 all_source 表2. 用 DBMS_METADATA 包。
一. 通过 all_source 表
先来确认下,通过all_source 表可以查看哪些类型的对象:SQL> SELECT distinct type FROM ALL_SOURCE;TYPE------------PROCEDUREPACKAGEPACKAGE BODYLIBRARYTYPE BODYTRIGGERFUNCTIONJAVA SOURCETYPE
从以上的结果我们可以看到,我们可以通过该表查询的对象.
查看存储过程定义语句: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)ISBEGIN 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 ROWBEGIN DELETE FROM team_teamgroup_map WHERE teamid = :OLD.teamid;END trdb_team;已选择10行。
方法也比较简单,修改TYPE 和 NAME 就可以。 注意要大写。
Oracle 存储过程定义和优点与函数区别Oracle 存储过程使用示例相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (1)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
- 本站有权在网站内转载或引用您的评论
|