oracle查看和删出存储过程

本文介绍了一个特殊的表user_source,该表用于存储存储过程和函数的源码,但这些源码并非完整存储在单条记录中,而是将每行源码作为一条记录存储。因此,在查询存储过程名称时会出现重复的情况。此外,还提供了删除存储过程的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 查询存储过程:

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值