導航:首頁 > 源碼編譯 > oracle編譯無效

oracle編譯無效

發布時間:2022-04-29 00:43:41

① oracle導完數據為什麼要編譯無效對象

網友採納如果無效對象的數量很少,那麼你可以逐個編譯這些對象. ALTER PACKAGE my_package COMPILE; ALTER PACKAGE my_package COMPILE BODY; ALTER PROCEDURE my_procere COMPILE; ALTER FUNCTION my_function COMPILE; ALTER TRIGGER my_trigger COMPILE; ALTER VIEW my_view COMPILE;

② 如何在Oracle中重編譯所有無效的存儲過程

:在SQL_PLUS中:spool ExecCompProc.sql select 'alter procere ' ||object_name||' compile;' From all_objects where status = 'INVALID' and object_type = 'PROCEDURE'; spool off @ExecCompProc.Sql;整理成一個存儲過程:Create Or Replace Procere Zl_Compile_Invalid_Procere AsStrsql Varchar2(200);BeginFor x In (Select Object_Name From All_Objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') LoopStrsql := 'Alter Procere ' || x.Object_Name || ' Compile';Begin Execute Immediate Strsql; Exception--When Others Then Null; When OTHERS Then dbms_output.put_line(Sqlerrm); End;End Loop;End;最後執行:exec Zl_Compile_Invalid_Procere;如果要看到無法重編譯的過程的出錯信息,需要執行前設置set serverout on。

③ oracle 編譯出現PLS-00103 CREATE 錯誤!編譯失效!

函數沒有語法問題,DEPTNO = 7788對應的名稱或多重?

④ oracle 觸發器為什麼編譯不通過 大家幫忙看看。

觸發器應該沒有錯誤,如果編譯報錯,可能是當前用戶沒有訪問dbms_lock包的許可權,使用SYS用戶授權一下就可以了。
grant execute on DBMS_LOCK to 用戶名稱;

⑤ oracle存儲過程編譯不通過,求各位大蝦幫我看下

FOR i IN 1...1000 LOOP 語法錯誤 是兩個點!
,INSERT ID,NAME,age,email,sex,birthday,create_time INTO person VALUES(
這一段的insert 這個一行也是有錯誤

--1-birthday DATE 與birthdaty:=DATE'1992-05-01'; 不是同一個變數

--以下是更過後的,可以參考下 希望對你有幫助1

create or replace procere insert_person(
NUM IN INT
)
AS
ID INT;
NAME VARCHAR2(10);
age NUMBER;
email VARCHAR2(10);
sex NUMBER;
birthday DATE;
create_time TIMESTAMP;
BEGIN
ID:=NUM;
NAME:='張三';
age:=25;
email:='shangsan';
birthday:=to_date('1992-05-01','yyyy-mm-dd');
create_time:=SYSTIMESTAMP;
FOR i IN 1..1000 LOOP
sex:=1;
IF(i<500)THEN
sex:=0;
END IF;
INSERT INTO person( ID,NAME,age,email,sex,birthday,create_time) VALUES(

NUM+i,
NAME||i,
age,
email||i||'@163.com',
sex,
birthday,
create_time
);
END LOOP;
COMMIT;
dbms_output.put_line('執行結束');
END;

⑥ oracle 過程 重新編譯也無效

編譯完成,不代表裡面語句沒問題,這種情況是存儲過程里存在某種錯誤
在 SQL *Plus 或者 PL/SQL Developer 的 Command Windows 中,執行
show errors procere USP_EXCEPTION;
查看一下錯誤是什麼.

我的修改如下:
CREATE OR REPLACE PROCEDURE USP_EXCEPTION(EMPNO INTEGER, --批次ID
P_FM NUMBER, --分母
P_FZ NUMBER, --分子
P_RESULT OUT NUMBER --結果
) IS
V_RAISE EXCEPTION; --異常處理
type type_table_pcmx is varray(4) of varchar2(20);
TABLE_PCMX type_table_pcmx;
BEGIN
IF P_FZ = 0 THEN
RAISE V_RAISE;
END IF;
P_RESULT := P_FM / P_FZ;
SELECT ENAME, EMPNO, JOB, DEPTNO
INTO TABLE_PCMX(1),TABLE_PCMX(2),TABLE_PCMX(3),TABLE_PCMX(4)
FROM EMP
WHERE EMPNO = EMPNO;
EXCEPTION
WHEN V_RAISE THEN
RAISE_APPLICATION_ERROR(-20010, 'ERROR:分子為零!');
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20011, 'ERROR:批次明細不存在!');
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20012, 'ERROR:數據錯誤!');
END;

⑦ oracle存儲過程提示編譯完成但存在錯誤,如何查看錯誤

1、首先打開PL/SQL Developer軟體,新建sql窗口。

⑧ Oracle創建的包為什麼會出現編譯錯誤

package pkg_score_218 這個應該是package頭,裡面只要函數的聲明就行了
再定義一個package體,裡面才是寫函數的實現。

⑨ ORACLE 中無法編譯包,查過沒有鎖,是什麼原因

報什麼錯誤呢? 一般出現無法編譯的情況 都是有過程或者包在在正被執行而被加鎖,另外其他過程或者包當中如果包含了其他的包或者過程的話,也會是鎖定狀態無法編譯。

閱讀全文

與oracle編譯無效相關的資料

熱點內容
富士康伺服器是什麼 瀏覽:452
編譯是二進制嗎 瀏覽:262
小程序賬號登錄源碼 瀏覽:876
雲南社保局app叫什麼 瀏覽:693
美女程序員吃大餐 瀏覽:208
項目二級文件夾建立規則 瀏覽:558
dns使用加密措施嗎 瀏覽:172
php獨立運行 瀏覽:531
手機sh執行命令 瀏覽:729
雲伺服器的角色 瀏覽:735
單片機頻率比例 瀏覽:842
我的世界伺服器如何關閉正版驗證 瀏覽:506
如何查roid伺服器上的 瀏覽:132
安卓手機主板如何撬晶元不掉電 瀏覽:251
php各個框架的優缺點 瀏覽:103
php1100生成數組 瀏覽:361
以後做平面設計好還是程序員好 瀏覽:554
雲伺服器應用管理 瀏覽:440
飢荒雲伺服器搭建過程 瀏覽:188
可編程式控制制器優點 瀏覽:101