oracle ogg00423,【案例】Oracle报错PLS-00378 PLS-00439产生原因和MOS官方解决办法
【案例】Oracle報錯PLS-00378 PLS-00439產(chǎn)生原因和MOS官方解決辦法
時間:2016-11-12 21:31???來源:Oracle研究中心???作者:代某人???點擊:
次
天萃荷凈
PLS-00378此版本的PL / SQL編譯單元無效
原因:編譯單元是一個文件,其中包含的PL / SQL傳遞給編譯器的源代碼。只包含塊,宣言,聲明和子程序的編譯單元是不允許的。此錯誤發(fā)生時,其他一些語言結構傳遞給編譯器。
行動:確保編譯單元包含唯一塊,聲明,聲明和子程序。
PLS-00379 CASE語句不包括在此版本的PL / SQL
原因:正在編譯單元包含一個CASE語句。然而,當前版本的PL / SQL不支持CASE語句。
行動:刪除從CASE語句的編譯單元。
PLS-00380的職能和程序,不包括在此版本的PL / SQL
原因:正在編制的程序中包含一個函數(shù)或過程的聲明。
行動:請不要使用。
發(fā)現(xiàn)在“ 字符串 “中的子查詢或INSERT列和變量的PLS-00381類型不匹配
原因:一列和變量的數(shù)據(jù)類型不匹配。中遇到的一個子查詢或INSERT語句的變量。
行動:改變變量的數(shù)據(jù)類型匹配的列。
PLS-00382表達是錯誤的類型
原因:有一個表達的背景下,在它被發(fā)現(xiàn)的錯誤的數(shù)據(jù)類型。
操作:更改數(shù)據(jù)類型的表達。您可能要使用的數(shù)據(jù)類型的轉換功能。
“ 串 “IN或NOT IN子句內(nèi)發(fā)現(xiàn)PLS-00383類型不匹配
原因:在測試集如x不在(選擇Y)的成員,表達的X和Y不匹配的數(shù)據(jù)類型,它是不明的隱式轉換的要求,以糾正不匹配。
行動:更改表達式,使他們的數(shù)據(jù)類型匹配。你可能想使用在選擇列表中的數(shù)據(jù)類型轉換功能。
發(fā)現(xiàn)在更新的SET子句中的“ 串 “ PLS-00384類型不匹配
原因:在UPDATE語句的SET子句等號左邊的列不匹配的數(shù)據(jù)類型列,表達式或子查詢,等號右邊,它是不明的隱式轉換需要糾正不匹配。
行動:更改表達式,使他們的數(shù)據(jù)類型匹配。你可能想在SET子句中使用數(shù)據(jù)類型轉換函數(shù)。
PLS-00385類型不匹配“ 串 “在SELECT ... INTO語句
原因:左邊和右邊的INTO子句在SELECT INTO語句的表達式中數(shù)據(jù)類型不匹配,它是不明的隱式轉換的要求,以糾正不匹配。
行動:更改表達式,使他們的數(shù)據(jù)類型匹配。你可能想使用在選擇列表中的數(shù)據(jù)類型轉換功能。
PLS-00386類型不匹配,發(fā)現(xiàn)在“ 字符串 “之間FETCH游標到變量
原因:在FETCH語句的INTO列表中的任務目標在游標聲明的選擇列表中的相應列的數(shù)據(jù)類型不匹配,它是不明的隱式轉換的要求,以糾正不匹配。
行動:更改游標聲明或更改數(shù)據(jù)類型的賦值的目標。你可能想用光標查詢選擇列表中的數(shù)據(jù)類型轉換功能。
PLS-00387到變量,不能是一個數(shù)據(jù)庫對象
原因:在INTO列表項目的FETCH或SELECT語句被認為是一個數(shù)據(jù)庫對象。探索INQUIRY引入了一個用戶定義的輸出值被分配到的變量列表。因此,數(shù)據(jù)庫對象不能出現(xiàn)在INTO列表。
行動:檢查列表項的拼寫。如果有必要,INTO列表中刪除的項目或一個用戶定義的輸出變量替換它。
PLS-00388未定義列的字符串中的子查詢
原因:子查詢中包含列名,這不是在指定的表中定義。
行動:更改表達式指定一個列被定義。
PLS-00389的表,視圖或別名命名為“ 串 “在這種情況下不允許
原因:表,視圖或別名名稱對應到一個常規(guī)(非對象)的表出現(xiàn)在不適當?shù)那闆r下。
行動:刪除參考,或者,如果你打算編寫此列引用,修復等。
PLS-00390未定義列的“ 串 “在INSERT語句
原因: INSERT語句包含了一個未定義的列名。
行動:列名的拼寫檢查,然后更改,因此,它是指只定義的列的表達式。
PLS-00391未定義列的“ 串 “在UPDATE語句
原因:一個更新語句是指不被更新的表或視圖定義的列。
行動:檢查列名的拼寫,然后修改語句,這樣,它只是指定義的列。
PLS-00392之間的參數(shù)類型不匹配
原因:如Y和Z X之間的比較,表達式的X,Y,和Z不匹配的數(shù)據(jù)類型,它是不明的隱式轉換的要求,以糾正不匹配。
行動:更改表達式,使他們的數(shù)據(jù)類型匹配。您可能要使用的數(shù)據(jù)類型的轉換功能。
PLS-00393錯誤的號碼列在SELECT ... INTO語句
原因:一個SELECT INTO語句...選擇的列數(shù)不匹配,在INTO子句中的變量的數(shù)量。
行動:改為子句選擇列表中的數(shù)列或變量的數(shù)量,這樣的數(shù)字匹配。
PLS-00394錯誤的數(shù)量值在FETCH語句的INTO列表
原因: INTO子句的FETCH語句中的變量數(shù)不匹配,在游標聲明的列數(shù)。
行動:更改在游標聲明的列數(shù)或INTO子句中變量的數(shù)量,這樣的數(shù)字匹配。
PLS-00395錯誤的INSERT語句的子句中的值值
原因:在INSERT語句中的列數(shù)不匹配VALUES子句中的值的數(shù)目。例如,下面的語句是錯誤的,因為沒有列指定 ??值20:
INSERT INTO EMP(EMPNO,ENAME)VALUES(7788,“SCOTT”,20);
操作:更改列的列表或VALUES清單中的項目數(shù),這樣的數(shù)字匹配的項目數(shù)量。
PLS-00396 INSERT語句的子查詢產(chǎn)生錯誤列數(shù)
原因:在INSERT語句中的列數(shù)不匹配,子查詢選擇列表中的列數(shù)。例如,下面的語句是錯誤的,因為沒有相應的列指定 ??為COL3:
INSERT到EMP(ENAME,EMPNO)
SELECT COL1,COL2,COL3
從...
行動:改變中的項目數(shù)列列表的INSERT語句或選擇列表中的項目數(shù)量,使數(shù)字相匹配。
PLS-00397至IN的參數(shù)類型不匹配
原因:在一個集成員,如X在(Y,Z軸),表達的X,Y和Z的測試中數(shù)據(jù)類型不匹配,它是不明的隱式轉換的要求,以糾正不匹配。
行動:更改表達式,使他們的數(shù)據(jù)類型匹配。您可能要使用的數(shù)據(jù)類型的轉換功能。
PLS-00398錯誤的號碼列在聯(lián)合,相交,或減號表達
原因: SELECT子句的左側和工會的權利,INTERSECT或減號表達不選擇相同數(shù)量的列。例如,下面的語句是錯誤的,因為在選擇列表中不包含相同數(shù)量的項目:
光標my_cur是ENAME FROM EMP SELECT
相交選擇ENAME,從EMP EMPNO;
行動:更改選擇列表,使它們包含相同數(shù)量的項目。
PLS-00399不同類型的聯(lián)合列,INTERSECT或減號表達
原因:選擇列表的左側和工會的權利,INTERSECT或減號表達至少選擇一個列的數(shù)據(jù)類型匹配。例如,下面的語句是錯誤的,因為不斷3數(shù)據(jù)類型,而SYSDATE日期數(shù)據(jù)類型:
光標my_cur是3 SELECT FROM EMP
相交的SELECT SYSDATE FROM EMP;
行動:更改選擇列表,使他們中的數(shù)據(jù)類型相匹配。你可能想使用數(shù)據(jù)類型轉換功能,在選擇列表中的一個或多個查詢。
PLS-00400之間的游標SELECT語句和返回值的列數(shù)不同
原因:在游標聲明,指定返回類型(如返回EMP%ROWTYPE的),但返回的列的值的數(shù)目不匹配的選擇列表項的數(shù)目。
行動:改變光標的返回類型或選擇列表,以便返回的列值選擇列表項的數(shù)目相匹配。
PLS-00401游標的SELECT語句返回值之間的不同列類型“ 字符串 “
原因:在游標的聲明中,被指定返回類型(如返回EMP%ROWTYPE的),但返回的列的值及其對應的選擇列表項有不同的數(shù)據(jù)類型。
行動:改變光標的返回類型,或選擇列表中,使每一個返回的列的值和其相應的選擇列表項有相同的數(shù)據(jù)類型。
PLS-00402別名光標的SELECT列表中,以避免重復的列名
原因:聲明游標是一個SELECT語句,它包含了重復的列名。這種提法是不明確的。
行動:在選擇列表的別名替換重復的列名。
PLS-00403表達' 字符串 '不能被用來作為一個SELECT / FETCH語句的INTO目標
原因:一個FETCH語句是無法在其指定的列表值賦值的目標,因為目標是不是一個合法成立,并宣布的變量。例如,下面的賦值是非法的,因為瓊斯是一個字符串,而不是一個變量:
提取到“瓊斯my_cur;
動作:檢查拼寫和分配目標的聲明。確保形成變量名的規(guī)則得到遵守。
PLS-00404“ 串 “ 光標必須申報更新使用電流
原因: CURRENT OF cursor_name子句的使用是合法的,只有cursor_name用FOR UPDATE子句聲明。
行動: FOR UPDATE子句添加到光標的定義,或者不使用CURRENT OF cursor_name子句。
在這種情況下不允許PLS - 00405子查詢
原因:在不適當?shù)那闆r下,如使用子查詢:
(SELECT DEPTNO從EMP的WHERE ...)= 20,那么...
只允許在SQL語句中使用子查詢。
行動:通過使用一個臨時變量,可以得到相同的結果:
選擇EMP的WHERE DEPTNO ... INTO temp_var;
如果temp_var = 20,那么...
PLS-00406的子查詢中的SELECT列表的長度必須符合任務目標的數(shù)量
原因:查詢選擇列表是不相同的長度將接收返回值的目標清單。例如,下面的語句是錯誤的,因為子查詢返回兩個值,一個目標:
更新EMP SET ENAME =
(SELECT ENAME,從EMP EMPNO ENAME ='史密斯)...
行動:名單的變化,使它們包含相同數(shù)量的項目。
PLS-00407'*'這里不允許列清單
原因:使用星號(*)作為列名列表的縮寫。然而,在這種情況下,列名必須寫明確。
行動:星號替換列名的列表。
PLS-00408的重復列的字符串 '不允許在INSERT或UPDATE
原因: UPDATE或INSERT語句中有一列清單,其中包含重復的列名。
行動:檢查列名的拼寫,然后消除重復。
PLS-00409重復的變量' 字符串 '到列表不允許
原因:出現(xiàn)兩次相同的變量在一個SELECT INTO列表或FETCH語句。
行動:從進入名單中刪除的變量之一。
PLS - 00410紀錄,表或參數(shù)列表中的重復字段不允許
原因:當一個用戶定義的記錄被宣布,同名的兩個領域。數(shù)據(jù)庫表中的列名一樣,在用戶定義的記錄的字段名稱必須是唯一的。
行動:檢查字段名稱的拼寫,然后刪除重復的。
在子查詢中的聚合和PLS-00411的值的數(shù)目不匹配
原因:聲明的形式聚集在子查詢,在總量和子查詢的值的數(shù)字是不平等的。例如,代碼可能看起來像這樣:
... (10,20,30)=(SELECT EMPNO,DEPTNO FROM EMP WHERE ...);
行動:修改聚合或子查詢,使數(shù)字值匹配。
PLS-00412這個函數(shù)或過程作為參數(shù)允許值的列表
原因:括號一個由逗號分隔的值列表(也就是說,一個聚合)是在錯誤的情況下使用。例如,下面的用法是無效的:
WHERE(COL1,COL2)>(COL4選擇COL3,從MY_TABLE ...)
然而,一個等號,可以采取一個值列表和一個子查詢,左,右手邊的參數(shù),分別為。所以,以下的使用是有效的:
WHERE(COL1,COL2)=(SELECT COL3,COL4從MY_TABLE ...)
行動:重寫表達。例如,該條款:
WHERE(COL1,COL2)>(COL4選擇COL3,從MY_TABLE ...)
可以改寫為:
在WHERE COL1>(選擇從MY_TABLE COL3 ...)
COL2>(選擇MY_TABLE COL4 ...)
PLS - 00413在CURRENT OF子句標識不是一個游標名稱
原因:在CURRENT OF子句的標識符名稱的游標以外的對象。
行動:檢查標識符的拼寫。確保,它的名字在DELETE或UPDATE語句光標光標本身,而不是一個for循環(huán)變量命名。
PLS-00414沒有列' 字符串表
原因:表名稱或別名來限定列的參考,但不列在該表中發(fā)現(xiàn)。要么從未定義列或列名拼寫錯誤。
行動:確認列定義和檢查列名的拼寫。
PLS - 00415“ 字符串 “是一個OUT參數(shù),并不能出現(xiàn)在函數(shù)
原因:一個OUT或OUT參數(shù)正式被用來在功能規(guī)格。
行動: IN參數(shù)更改參數(shù)。
PLS-00416的解碼的第三個參數(shù)不能為NULL
原因:以解碼的第三個參數(shù)是NULL。
操作:輸入一個適當?shù)念愋秃椭档膮?shù)。
PLS-00417未能解決“ 作為一列字符串 “
原因:數(shù)據(jù)庫表,查看,或在SQL語句中不存在指定的列,或不授予需要訪問的表或視圖的權限。
行動:檢查表(或視圖)和列名的拼寫,確保存在的表和列。如果有必要,要求數(shù)據(jù)庫管理員授予訪問該表所需的特權。
PLS-00418陣列綁定類型必須匹配的PL / SQL表的行類型
原因:主機陣列是一個綁定到一個PL / SQL表參數(shù)的PL / SQL子程序傳遞(由Oracle預編譯程序,例如)。然而,數(shù)組元素的數(shù)據(jù)類型和PL / SQL表中的行是不相容的。因此,綁定失敗。
行動:更改數(shù)組元素或PL / SQL表中的行的數(shù)據(jù)類型的數(shù)據(jù)類型兼容。
PLS-00419參考遠程屬性不允許
原因:試圖引用一個遠程游標屬性,這是不允許的。例如,代碼可能看起來像這樣:
如果SQL%NOTFOUND @紐約,然后...
行動:不要試圖引用一個遠程光標屬性。
PLS-00420不能遠程調用內(nèi)置的例程
原因:嘗試向遠程調用一個內(nèi)置的PL / SQL函數(shù),這是不允許的。例如,代碼可能看起來像這樣:
my_sqlerrm:=的SQLERRM @紐約;
或
INSERT到EMP(my_empno,STANDARD.RTRIM @紐約(my_ename)的值,
...);
行動:始終調用內(nèi)置函數(shù)在本地從未指定一個數(shù)據(jù)庫鏈接。
PLS-00421的代名詞定義嵌套太深;同義詞可能循環(huán)
原因:直接或間接的代名詞的定義本身而言,創(chuàng)造一個圓形的定義。或一個同義詞鏈,太長的PL / SQL編譯器處理,被定義。
行動:重新定義的同義詞,消除循環(huán)的定義。如果有必要,縮短鏈的同義詞。
PLS-00422的PL / SQL翻譯沒有為這個綁定變量的bindtype
原因:通過主機變量(由Oracle預編譯程序,例如)具有約束力的PL / SQL。然而,它的數(shù)據(jù)類型是不與任何PL / SQL數(shù)據(jù)類型兼容。因此,綁定失敗。
行動:更改宿主變量的數(shù)據(jù)類型,使其與一個PL / SQL數(shù)據(jù)類型兼容。
PLS-00423 ORDER BY項必須是一個SELECT列表表達式
原因:在ORDER BY子句的SELECT語句中使用一個UNION,INTERSECT或MINUS集合運算符使用列別名。這是不允許的。在這種情況下,在ORDER BY子句中的表達式必須是無符號整數(shù),指定選擇列表項的序號位置。
行動:在ORDER BY子句的別名更改為無符號整數(shù)的問題中選擇項目,指定序號位置。
PLS-00424的RPC默認可以不包括包狀態(tài)
原因:嘗試調用遠端的子程序,的拖欠參數(shù)取決于包的狀態(tài),這是不允許的。實際參數(shù)調用遠端的子程序時,必須明確地傳遞,如果相應的形式參數(shù)的依賴包的狀態(tài)。
行動:通過明確每個實際參數(shù)調用遠端的子程序。
在SQL PLS-00425,函數(shù)參數(shù)和返回類型必須是SQL類型
原因:當從SQL語句調用存儲功能,通過錯誤類型的參數(shù)。是從SQL語句調用,存儲功能必須滿足以下幾個要求,其中之一是其參數(shù),如CHAR,DATE或NUMBER SQL數(shù)據(jù)類型。沒有參數(shù)可以有非SQL類型,如Boolean,表或記錄。
行動:確保所有的參數(shù)在函數(shù)調用SQL數(shù)據(jù)類型。
PLS-00426游標變量OUT參數(shù)的字符串不能被FETCH'ed或CLOSE'd
原因:當游標變量作為一個子程序的正式參數(shù)宣布,將獲取和/或關閉游標變量,指定OUT參數(shù)模式。這是不允許的。在這種情況下,IN或OUT模式必須指定。
行動:從OUT到IN或IN OUT參數(shù)模式更改。
PLS-00427 RPC的默認不能使用時的標準版本不同建宏
原因:試圖調用遠端的子程序,其拖欠的參數(shù)值計算使用一個內(nèi)建的操作。如果調用系統(tǒng)采用了不同的版本,比所謂的系統(tǒng)包裝標準,拖欠表達必須是一個簡單的數(shù)字或字符串常量,NULL或直接調用用戶編寫的功能。
行動:通過明確每個實際參數(shù)值調用遠端的子程序。
PLS-00428 INTO子句,預計在此SELECT語句
原因: INTO子句的SELECT INTO語句被省略。例如,代碼可能看起來像這樣:
SELECT DEPTNO,DNAME,從部LO??C ...
而不是:
SELECT DEPTNO,DNAME,LOC從DEPT探索INQUIRY dept_rec的...
PL / SQL中,只有一個子查詢被寫入沒有一個INTO子句。
行動:加入所需的INTO子句。
PLS-00429不受支持的功能與RETURNING子句
原因:以下情況之一:
RETURNING子句INTO子句不能用在同一語句
RETURNING子句目前不支持的對象typecolumns,長柱,記錄,%rowtypes,遠程表和子查詢的INSERT。
這是ORA-28815。
行動:使用一個單獨的select語句得到的值。
PLS-00430 FORALL的迭代變量字符串是不允許在這方面
原因: FORALL的迭代變量只能被用來作為下標。它不能被直接使用,或作為表達式的一部分。
行動:使用FORALL的,只是作為一個集合下標變量。
PLS-00431批量SQL屬性,必須使用一個單一的指數(shù)
原因:多個索引指定的訪問SQL的散裝屬性。
行動:使用整數(shù)數(shù)據(jù)類型的單一指標。
PLS-00432實施限制:不能使用FORALL和散裝收集到了一起,在SELECT語句
原因: SELECT語句包含在FORALL和BULK收集成短語。
行動:不要使用FORALL和散裝在SELECT語句中收集到了一起。
PLS-00433封裝的標準不一致
原因: PL / SQL編譯器無法找到應該存在于包標準的項目(如類型聲明)。
行動:確保正確的版本,包裝標準是在當前的Oracle數(shù)據(jù)庫,然后重試編譯。
PLS-00434的記錄字段有不支持的類型:“ 串 “
原因:嘗試使用不受支持的類型為記錄字段。在此版本中,使用SQL92的DateTime類型(時間,時間戳,時區(qū)的時間,時區(qū),間隔一年的時間戳記月,INTERVAL DAY TO SECOND)不支持記錄字段。
行動:使用記錄的字段只支持類型。
PLS-00435沒有在大量的BIND的DML語句內(nèi)不能使用FORALL的
原因: FORALL語句內(nèi)聲明的DML(SELECT / INSERT /刪除/更新),不包含散裝綁定變量。
行動: DML(SELECT / INSERT /刪除/更新)FORALL語句內(nèi)聲明必須包含大量的綁定變量。
PLS-00436實施限制:不能引用領域的散裝綁定記錄表
原因:表(bulk_index)領域在運行時不支持。
行動:與平原FORALL的DML語句(SELECT / INSERT /刪除/更新),而不是循環(huán)使用。
PLS-00437 FORALL的散裝指數(shù)不能被用來在字符串條款
原因:不支持選舉表(bulk_index)。
行動:返回散裝到付,而不是使用。
PLS - 00438在LIMIT子句的值:' 字符串使用的是無效的
原因:在LIMIT子句批量評估值取在不適當?shù)那闆r下被發(fā)現(xiàn)。例如,下面的語句是非法的,因為在批量提取的LIMIT子句預計數(shù)值。
行動:更改LIMIT子句的表達,使評價結果是兼容的數(shù)值。
PLS-00439一個LIMIT子句必須用在批量獲取
原因:一個LIMIT子句內(nèi)使用非批量提取。
行動:不要使用LIMIT子句用于非批量提取。
--------------------------------------ORACLE-DBA----------------------------------------
最權威、專業(yè)的Oracle案例資源匯總之【案例】Oracle報錯PLS-00378 PLS-00439產(chǎn)生原因和MOS官方解決辦法
總結
以上是生活随笔為你收集整理的oracle ogg00423,【案例】Oracle报错PLS-00378 PLS-00439产生原因和MOS官方解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 官网下载jdk源码_openJ
- 下一篇: php之二叉树,数据结构之二叉树——链式