oracle數據庫報錯 ORA-06553: PLS-306: 調用 'V' 時參數個數或類型錯誤


今天遇到一個項目升級后,執行SQL語句報錯:ORA-06553:  PLS-306:  調用  'V'  時參數個數或類型錯誤。后來發現是數據表visit中缺乏相關字段。奇怪的是如果缺乏字段,向來是報錯為:ORA-00904 XXX標識符不存在。這次缺報了這個一個闡述個數或類型錯誤。

后來懷疑是SQL語句中數據表別名的原因。修改別名為其他別名(例如“a”)之后就會得到正常的提示 XXX標識符不存在。估計是在SQL解析時的bug吧,將V.*當做一個函數或者存儲過程去調用了,還匹配不上,結果就報錯 “參數個數或者類型錯誤”

 1 select v.visit_id,
 2        v.patient_id,
 3        v.subspecialtymstr_id,
 4        v.admission_datetime,
 5        v.discharge_datetime,
 6        v.patient_type,
 7        v.visit_no,
 8        v.patient_class,
 9        v.admit_status,
10        v.wardmstr_id,
11        v.medical_condition,
12        v.bedmstr_id,
13        (select bm.bed_no from bedmstr bm where bm.bedmstr_id=v.bedmstr_id and bm.defunct_ind='N') bed_no,
14        v.nursing_level,
15        v.consult_status,
16        v.consult_careprovider_id,
17        v.admission_times,
18        v.blacklist_ind
19   from visit v;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM