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';