只需要drop
成都創新互聯是一家專注于成都做網站、網站制作與策劃設計,合肥網站建設哪家好?成都創新互聯做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:合肥等地區。合肥做網站價格咨詢:18980820575
package
package_name;就行了,如果你建包的語句寫的是create
or
replace開頭的話,就不用先刪除了,改好重新跑一遍就行。
Oracle中出現無效對象,就是因為在創建函數或存儲過程等,里邊的內容書寫不正確導致。如果要重新編譯,需要先修正錯誤,然后編譯。
工具:Oracle 10g、PL/SQL
步驟:
1、在PL/SQL中打開出現編譯錯誤的函數或存儲過程,這里以存儲過程為例。
2、右鍵點擊該存儲過程,選擇“編輯”。
3、根據錯誤提示,找到錯誤,并修改錯誤。
4、改正錯誤后,點擊左上方的“齒輪”狀按鈕。
5、運行成功后,則該存儲過程就會變為編譯成功的狀態。
編譯的存儲過程的時候,程序死住,等待一會出現ora-04021錯誤解決辦法:
1.可能被鎖住
查看v$lockedselect b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b
where a.SID = b.SID
得到死鎖session的SID,SERIAL#參看這個是否為你自己用戶下的,然后kill掉session
2.可能被掛起
查看v$session_waitselect b.serial#,a.* from v$session_wait a,v$session
bwhere a.sid = b.sid得到等待的session的sid和serial#3.查看dba_ddl_locksselect
session_id sid, owner, name, type,
mode_held held, mode_requested request
from dba_ddl_locks
where name = 'your_package_name'
if(graduaterecord.yingyu=tempyingyu and
graduaterecord.zhengzhi=tempzhengzhi and
graduaterecord.zhuanye1=tempzhuanye1 and
graduaterecord.zhuanye2=tempzhuanye2 and
graduaterecord.zhuanye3=tempzhuanye3 and
graduatetotalscore=temptotalscore) then
graduateflag:='錄取';
else
graduateflag:='落選';
end if;
tempyingyu這類變量有賦值嗎?
第二:為啥搞游標,這么簡單的一個判斷,直接寫case when不就好了,搞游標會消耗大量的性能,你可以測試下1000w以上數據,能跑出來嗎?
1、首先打開PL/SQL Developer軟件,新建sql窗口。
2、打開修改oracle存儲過程,該存儲過程有一個輸入參數(pid)跟一個輸出參數(name),即通過用戶id查詢用戶名稱并將名稱返回。
3、調試存儲過程,找到剛剛修改的存儲過程右擊并點擊【test】選項。
4、在打開的窗口內修改id值并點擊左上角的倒三角形圖標開始調試。按【CTRL+N】進行單步進入調試,【CTRL+O】單步調試,【CTRL+T】退出調試,也可以點擊調試工具進行調試。
5、變量查看,在窗口下方可輸入變量名稱觀察變量的變化情況。
6、調試完成后就可以檢查調試結果,可以在調試結果中查看錯誤。
網頁標題:oracle怎么取消編譯,oracle編輯器
本文路徑:http://m.2m8n56k.cn/article26/hcecjg.html
成都網站建設公司_創新互聯,為您提供服務器托管、網站設計、建站公司、關鍵詞優化、外貿建站、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯