plsql里面的編譯無效對象是什么意思
比如看存儲過程,那么在對象瀏覽器中,點開存儲過程的分支。看到帶有 * 說明當前狀態無效,右鍵 -- 編譯一下,如果還是無效的話,說明 編譯出錯了。
無效狀態有兩種可能,一種是你的存儲過程編輯沒有成功,創建了,但里面有語法錯誤。 還有一種是存儲過程使用的表有結構上的改變,需要重新編譯一下。 你重新編譯一下,如果不成功,就是有語法問題,你需要修改存儲過程。
plsql表或視圖不存在編譯的解決方法如下:表或視圖確實不存在或名稱寫錯。表名大小寫。Oracle對大小寫敏感,通常在創建和查詢時對名稱數據庫會自動轉為大寫,但語句中有引號時會按引號中的內容保留。
程序長時間未調用后失效需重新編譯(無需手動編譯)。屬正常現象。主程序中調用的其他程序做過改動和編譯,主程序未即時編譯。
這個過程失效了,一般出現這種情況的原因有兩種,一種是過程編譯出現錯誤,還有一種是可能過程長時間不能正常運行導致(比如你將過程可能用到的某個對象刪除)。你可是重新編譯一下過程,這樣一般會找到問題在哪。
報紅叉就是編譯沒通過唄。你找到你觸發器的位置,一般是:左邊triggers-然后找到你的觸發器名稱。然后右鍵-編輯,基本就能看到下邊報什么錯,一步一步改就行了啊。
plsql編譯存儲過程卡死
存儲過程中是否有 LOOP ?如果有 的在end loop 添加 EXIT WHEN 游標名%NOTFOUND (意思是如果沒有這個游標,就跳出)沒有loop 的話 手動停止掉當前的存儲過程吧。
不知道是在什么時候卡住?一般都是在點擊“all objects”的時候不動了,這是因為plsql dev提交了大量的復雜sql導致的,此時數據庫的壓力會很大,建議不要用plsql dev,可以用oracle 免費的sql dev,或者toad。
你這樣的情況,可以考慮設置數據庫連接超時的時間適當短一些。
兩種可能:網絡有問題,網速過慢會造成這個問題 oracle很忙,響應不過來。你到oracle服務器本機上執行一下看看就知道了。
可以選擇先將數據保存在另外的臨時表中,再保存該表create 語句,DROP掉表,重建表或試圖。保證該表索引什么的都不失效,最后再把數據從臨時表insert進來。 ORACLE數據庫三方工具PL/SQL功能強大,也需要多注意小細節操作。
這個問題主要是listener的問題,一般重啟系統或者類似上述的操作中斷引起,因此需要將listener重啟或者機器重啟,如果還無法使用,將listener重新添加一次。
PLSQL存儲過程
1、首先雙擊plsql圖標,進入登錄界面,輸入用戶名和密碼,輸送數據庫實例名。點擊左上角new,并點擊sqlwindow,進入到數據庫界面。該圖是數據庫存儲過程的簡單布局。
2、在PL/SQL Developer中調用存儲過程的步驟如下:首先,建立一個操作表,當然也可以用用戶界面去創建表。導入部分數據,在命令窗口使用sql代碼或者用可視化界面。
3、首先打開一個的PLSQL Developer的界面中,點擊左上角的工具,如下圖所示。然后在打開的工具下拉菜單中,點擊首選項,如下圖所示。接著在打開的窗口中,點擊左側中的輸出選項,如下圖所示。
4、首先是編寫存儲過程,編譯無誤;添加debug信息。
PLSQL修改了存儲過程如何編譯保存
1、如果是在plsql developer中修改的,可以直接點那個齒輪圖標,或者F8即可編譯。 如果是在sqlplus中,那就敲入修改后的過程代碼(create or replace procedure...),最后以/結尾運行即可。
2、可以用 exec 過程名 運行。如果是plsql developer之類的工具,那更簡單,編輯完存儲過程后,有運行按鈕,點擊即可。
3、第一步,創建一個存儲過程,該代碼如圖所示,見下圖,轉到下面的步驟。第二步,執行完上面的操作之后,執行以下幾行代碼,并查看執行是否成功,現在,數據庫中存在一個存儲過程“sp_JY”,見下圖,轉到下面的步驟。
4、第一步,雙擊plsql圖標進入登錄界面,輸入用戶名和密碼,然后傳輸數據庫實例名稱,如下圖所示,然后進入下一步。
5、的形式來獲取表中的數據,保存到plsql變量中。
6、在PL/SQL Developer中調用存儲過程的步驟如下:首先,建立一個操作表,當然也可以用用戶界面去創建表。導入部分數據,在命令窗口使用sql代碼或者用可視化界面。
用plsql寫了一個存儲過程,為什么條件無效
1、過程沒有創建成功,語句有問題,首先select *可能導致多值,得用游標 其次過程語句與一般sql語句不同,以SELECT XX INTO XX from XX形式,你都沒有into語句,這句話本身就有問題。
2、引用的對象發生變化。plsql搜索存儲過程沒反應是引用的對象發生變化。pl/sql不僅允許嵌入sql語言,還可以定義變量和常量,允許使用條件語句和循環語句,允許使用例外處理各種錯誤。
3、/13 PL/SQL: ORA-00942: 表或視圖不存在 SQL create table test_job (t1 date);表已創建。
4、應該是這樣的 賦的值是你輸入的值,不是輸出的值,你在test里面可以輸入id 然后你需要的名字就出來了。