oracle删除存储过程
① oracle:关于存储过程动态删除
把dbms打印结果,以及REGISTRATION_NO的值都发出来看看
② plsql删除的存储过程
如果有开启归档日志的话,可以直接回滚;
另外如果是10g以上版本的话,可以使用flashback恢复,具体方法如下:
恢复存储过程的原理就是利用了oracle里所有的存储过程的源代码都是存在dba_source里,而drop某个存储过程的时候,oracle这里肯定要去dba_source里把相关的源代码给delete掉,既然是delete,那就可以直接flashback query了,如下:
SELECT *
FROM dba_source
AS OF TIMESTAMP TO_TIMESTAMP ('2015-03-30 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE owner='' and name =''
③ Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功
删除不存在的数据并不会促发Oracle的异常
对于delete
from
dept
where
deptno=p_deptno;
判断是否有数据被删除可以用sql%rowcount,sql%notfound
来判断
if
sql%rowcount
=
0
then
dbms_output.put_line('部门删除失败...');
end
if;
或者
if
sql%notfound
then
dbms_output.put_line('部门删除失败...');
end
if;
④ oracle怎么删除存储过程,函数,触发器,的语句
drop procere p_p1;
drop function f_p1;
drop trigger tri_table;
⑤ 求一个oracle的批量删除的存储过程
declarecursorc1isselect*fromtable_A;
li_linenonumber(8);
begin
li_lineno:=1;
fortinc1loop
deletefromtable_Awherexbie00='1';
ifmod(li_lineno,1000)=0then
commit;
endif;
li_lineno:=li_lineno+1;
endloop;
end;
/
⑥ oracle怎么删除存储过程,函数,触发器,的语句
删除存储过程 DROP PROCEDURE xxxx
删除函数 DROP FUNCTION xxxx
删除触发器 DROP TRIGGER xxxx
⑦ oracle 怎么删除 包 TESTPACKAGE 中的存储过程
写的内容看不明白,你想删除的这个存储过程 属不属于 创建包的语句里面的? 如果是属于包里的存储过程,那么打开package\package body,将对应存储过程删除即可。
如果不属于包内的存储过程,直接drop procere 存储过程名; 即可。
⑧ 怎么清理oracle存储过程中的缓存
ALTER SYSTEM FLUSH SHARED_POOL
这个语句清除SGA中的 shared pool,shared pool存储下面的信息:
1、数据字典
2、Shared SQL & PL/SQL,存储过程、函数、包以及触发器
但是有一点要清楚的是假如这些对象正在使用时是无法清除的。
⑨ oracle存储过程删除了很久都删不掉怎么办
存储过程删不掉,你查下session,很可能是会话在调用你在删的过程,把调用存储过程对应的session杀掉就可以了
⑩ oracle删除多张表数据, 存储过程
报什么错,能把错误贴一下吗
另外注意delete语句和select还是有区别的,delete时只能删除满足条件的行,所以在delete后面不用指定列字段,即
delete D2_HC t where fkpkid in (d2_cpkid) and hctype='2';