ORA-00907 Missing Right Parenthesis报错SQL查询修正求助
ORA-00907错误排查与修正方案
核心问题点
- 调用Oracle包内函数传递命名参数时,错误使用
=赋值,正确语法应为参数名 => 参数值 - 多个参数之间未添加逗号分隔,导致语法解析失败被误判为缺少右括号
修正后代码
SELECT DESCRIPTION, TOTAL_ADMISSION, EMERGENCY, NORMAL FROM TABLE ( ORDERENTRY.PKG_S04REP00031.ADMISSION_SUMMARY( P_START_DATE => to_date('31/08/2021', 'dd/mm/yyyy'), P_END_DATE => to_date('01/09/2021', 'dd/mm/yyyy'), P_ADMISSION_TYPE => 'NORMAL', /*P_ORDER_LOCATION_ID => :P_ORDER_LOCATION_ID, */ P_LOCATION_ID => 'K01' ) );
补充说明
如果你明确知道该函数参数的定义顺序,也可以省略参数名直接按顺序传值,写法如下(需提前确认参数顺序和类型完全匹配):
SELECT DESCRIPTION, TOTAL_ADMISSION, EMERGENCY, NORMAL FROM TABLE ( ORDERENTRY.PKG_S04REP00031.ADMISSION_SUMMARY( to_date('31/08/2021', 'dd/mm/yyyy'), to_date('01/09/2021', 'dd/mm/yyyy'), 'NORMAL', 'K01' ) );
内容的提问来源于stack exchange,提问作者xajid
相关产品推荐
相关产品推荐

