oracle查看和删出存储过程

来源:互联网 发布:通达oa数据字典 编辑:程序博客网 时间:2024/05/21 18:36

 查询存储过程:

select * From user_source

user_source存储的数据有些特殊。

SQL> desc user_source;
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(30)
TYPE VARCHAR2(12)
LINE NUMBER
TEXT VARCHAR2(4000)

user_source 保存存储过程(procedure)、函数(function)等源码
但是不是每个存储过程或函数只保存在一行记录中,而是每行源码保存一行记录
如:
有一段源码:
begin
dbms_output.put_line('aaaaa');
end;

这段源码保存在user_source中分成三行记录!
第一条text字段中保存“begin”
第二条text字段中保存“dbms_output.put_line('aaaa')”
第三条text字段中保存“end”

所以如果我们直接select name from user_source返回的name中会有很多重复有名字。
select distinct name from user_source.

删除存储过程
1、drop procedure p_test;
2、
declare
job3:=1;
   begin
   dbms_job.remove(job3);
   end;