oracle存儲提前編譯
1.批量編譯存儲工程的存儲過程
create or replace procere compile_invalid_proceres(
p_owner varchar2 -- 所有者名稱,即 SCHEMA) as--編譯某個用戶下的無效存儲過程
str_sql varchar2(200);begin
for invalid_proceres in (select object_name from all_objects
where status = 'INVALID' and object_type = 'PROCEDURE' and owner=upper(p_owner))loop
str_sql := 'alter procere ' ||invalid_proceres.object_name || ' compile';begin
execute immediate str_sql;exception
--When Others Then Null;
when OTHERS Then
dbms_output.put_line(sqlerrm);end;end loop;end;
2.批量編譯視圖的存儲過程
❷ Oracle有沒有命令可以編譯存儲過程
sqlplus有相關的了命令:比如alter procere prodere_name compile;
第一次編譯的時候只要在後面加一個/當做執行符號,那麼就可以進行編譯。
❸ oracle存儲過程編譯錯誤,誰幫忙看看
oracle用dbms_output.put_line來列印
比如:
str:='執行成功';
dbms_output.put_line(str);
然後就能列印了,還有,你好多地方寫的都不對,比如lx已經是輸入參數了,為啥還要v_lx := lx;直接引用lx不就好了,其他的,你再自己看看吧
❹ oracle存儲過程必須提前編譯好嗎
存儲過程寫完後,必須編譯一下,然後才能用。
因為寫完後,資料庫並沒有確認過程是否有問題,編譯過程其實就是資料庫確認的過程。所以必須提前編譯好。
❺ oracle 存儲過程中的sql語句可以象java一樣寫成預編譯嗎
如果載入一些內容,載入設置算的話,可以的,就是格式語言啥的不一樣
❻ oracle的存儲過程 存儲機制
Oracle儲存過程是預編譯機制,編譯後的過程以後調用就不需要解析了,就直接執行,所以效率是比較高的。
❼ oracle警告:創建的存儲過程帶有編譯錯誤
第一個exeception1寫錯了;
第二個,oracle沒有else if只有elsif;
第三個:多了一個end if;
最後一個,輸出的時候後面的";"應該改為英文分號
❽ oracle 創建簡單存儲過程出現編譯錯誤
create procere axx_song
as
--測試
count_num number :=0; --聲明一個變數接收我們的結果
begin
select count(*) into count_num from alert_qt;
dbms_output.put_line(count_num);--這個函數是輸出信息到控制台.
end axx_song;
這個才是存儲過程.區別於存儲函數..函數必須有返回值.而存儲過程可以沒有,
❾ oracle存儲過程提示編譯完成但存在錯誤,如何查看錯誤
1、首先打開PL/SQL Developer軟體,新建sql窗口。
❿ oracle存儲過程編譯的什麼出現的問題!
你的rec_new是怎麼定義的?其具體的類型定義中是不是缺少了self_number、INFO_CHARGE的定義阿?
從錯誤上看是這樣的,請提供一下具體的內容,從而方便你進行修改。