oracle儲存過程 處於無效狀態

2023-02-25 12:25:02 字數 1660 閱讀 7487

1樓:匿名使用者

1、你的儲存過程有錯誤,編譯不通過。處理於無效狀態。

2、問題。儲存過程中隱式游標的select 語句必須要有into子句。

而 select * from temp_syckzl_zy 這是乙個沒有意義的語句;

應改為如:select col1 into v_col1 from temp_syckzl_zy;

注:col1為表中一欄位,v_col1為一變數。

oracle 定義儲存過程 不能執行,處於無效狀態。

2樓:

無效狀態有兩種可能:

1、一種是你的儲存過程沒有成功,建立了,但裡面有語法錯誤。

2、還有一種是儲存過程使用的表有結構上的改變,需要重新編譯一下。

解決方法如下:

重新編譯一下,如果不成功,就是有語法問題,你需要修改儲存過程。

延展閱讀:修改儲存過程的操作:在你的儲存過程,滑鼠右鍵,點修改,再儲存就行了。

oracle:儲存過程為什麼會顯示為無效狀態

3樓:匿名使用者

可能性很多,比如編譯沒有通過(這個的可能性也很多),後來某張表被刪除了等等。

基本上需要重新編譯一下,根據報錯等找問題原因。

如果編譯一下,通過了,那麼可能就是臨時問題(比如資源爭用等)導致的,雖然不經常發生,不過也是可能發生的。

oracle中呼叫儲存過程時顯示該儲存過程處於無效狀態是怎麼回事

4樓:幸淩寒

-- 檢視儲存過程執行時的列印資訊。

set serveroutput on

-- 執行儲存過程。

execute $proc_name;

-- 帶有輸出引數的情況下。

var $variable $type($length);

execute $proc_name(:$variable);

-- 檢視儲存過程內容 單引號內大寫。

select text from all_source where type='procedure' and name='$proc_name' (and owner='$owner');重新編譯儲存過程。

oracle 定義儲存過程不能執行怎麼辦?

如何檢測oracle裡面的索引和儲存過程是否失效

5樓:情又獨中

select * from dba_objects t where 'procedure';

select * from dba_objects t where 'index';

dba_objecst裡面有個status欄位,valid為有效,invalid即為失效。

oracle儲存過程物件無效 5

6樓:匿名使用者

以下逐行寫,不要一寫複製進去。

begindemo1;

end;/第四行的反斜槓不能省略。

7樓:匿名使用者

demo1無效目前看出第五行最後的分號是個全形。

在這個過程裡你的exception完全沒有必要。

oracle資料庫中儲存過程輸出情況

1 編寫儲存過程,create or replace procedure test pro in num number asm number begin m in num if 0 m then dbms output.put line 輸出sql語句1 elsif m 3 then dbms ou...

oracle如何建立儲存過程和如何呼叫儲存過程

create or replace procedure cony create table as begin execute immediate create table cony emp id number,name varchar2 10 salary number 動態sql為ddl語句 ex...

oracle定義儲存過程時什麼時候需要使用

oracle 的儲存過程裡沒有declare的語法,觸發器和plsql塊才是declare 如果要定義變數,後面直接跟is的 create or replace procedure c ispara number begin end 你在寫儲存過程的時候是 create or replace p n...