Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中执行oracle过程时获取异常_Java_Sql_Database_Oracle - Fatal编程技术网

在java中执行oracle过程时获取异常

在java中执行oracle过程时获取异常,java,sql,database,oracle,Java,Sql,Database,Oracle,我试图在oracle中执行一个过程,但在执行该过程时出现异常。请帮助我哪里出错 错误: 我认为在这份声明中,结束圆括号缺失,应该是: stkagentlist = "{call AVG_UNLOADING(?,?,?,?)}"; Group by在select之前执行,并且在Group by中指定延迟,我认为这是一个错误,您的java代码在哪里调用PROC?您的查询是一个绝对的混乱。整洁的布局并不是什么时髦的额外功能,它在调试代码时是一个真正的帮助;是这样吗?您的呼叫缺少匹配的右括号。?};应

我试图在oracle中执行一个过程,但在执行该过程时出现异常。请帮助我哪里出错

错误:

我认为在这份声明中,结束圆括号缺失,应该是:

stkagentlist = "{call AVG_UNLOADING(?,?,?,?)}";

Group by在select之前执行,并且在Group by中指定延迟,我认为这是一个错误,您的java代码在哪里调用PROC?您的查询是一个绝对的混乱。整洁的布局并不是什么时髦的额外功能,它在调试代码时是一个真正的帮助;是这样吗?您的呼叫缺少匹配的右括号。?};应该是};
CREATE OR REPLACE PROCEDURE "TEST_101"."AVG_UNLOADING" 
(
P_CODE IN VARCHAR2,
P_DATE IN VARCHAR2,
P_VANID IN NUMBER,
P_CURSOR OUT SYS_REFCURSOR
)
IS
BEGIN
OPEN P_CURSOR
FOR
select CARGO_NAME,IMP_EXP_NAME,'TEMP_CARGO_Import',ROUND(SUM(QTY)/((((extract(day from max(END_TIME)-DISCHRG_CMNCD_ANCHRG_TM)*(24*60))+
(extract(day from max(END_TIME)- DISCHRG_CMNCD_ANCHRG_TM)*(60)) + (EXTRACT(DAY FROM max(END_TIME)- DISCHRG_CMNCD_ANCHRG_TM)))-DELAYS)/(24*60))) QTY
from(SELECT (SELECT C.CARGO_CATEGORY_NAME FROM IPT_CARGOMASTER C WHERE C.CARGO_CODE =LL.CARGO_CODE )CARGO_NAME,IL.IMP_EXP_NAME,CASE L.CARGO_TYPE_CODE WHEN 'VC001' THEN LL.DISCHARGE_QUANTITY WHEN 'VC002' THEN LL.QUANTITY_GMT WHEN 'VC004' THEN LL.QUANTITY_GMT 
else LL.DISCHARGE_QUANTITY end QTY ,L.DISCHRG_CMNCD_ANCHRG_TM,LL.END_TIME ,(SELECT SUM(T3.TOTAL_TIME) FROM IPT_LOADUNLOADDELAYLINES T3 WHERE T3.ID = L.ID AND T3.MINUS_DELAY_HOURS = 'true') AS DELAYS    
,LL.LINE_ID,L.VAN_ID FROM IPT_LOADINGUNLOADING L JOIN IPT_LOADUNLOADOPERATIONLINES LL ON L.ID=LL.ID  LEFT JOIN IPT_IMPORTEXPORTFORM I ON I.VAN_ID=L.VAN_ID JOIN IPT_IGMEPCARGOLINES IL ON I.ID=IL.ID AND LL.CARGO_CODE=IL.CARGO_CODE  
where L.PORTDETAIL_CODE= P_CODE and I.PORTDETAIL_CODE=L.PORTDETAIL_CODE and IL.IMP_EXP_NAME like '%KKR%' AND LL.END_TIME<=TO_TIMESTAMP(TO_CHAR(P_DATE || ' 06:59'),'dd/MM/yyyy HH:MI')   
and L.VAN_ID in (P_VANID )
)t group by CARGO_NAME, IMP_EXP_NAME, 'TEMP_CARGO_Import',DISCHRG_CMNCD_ANCHRG_TM,DELAYS;
END AVG_UNLOADING;
stkagentlist = "{call AVG_UNLOADING(?,?,?,?}";
callableStatement = conn.prepareCall(stkagentlist);
callableStatement.setString(1, portCode);  
callableStatement.setString(2, dt );  
callableStatement.setString(3, vanids ); 
callableStatement.registerOutParameter(4, OracleTypes.CURSOR);
callableStatement.executeUpdate();
stkagentlist = "{call AVG_UNLOADING(?,?,?,?}";
stkagentlist = "{call AVG_UNLOADING(?,?,?,?)}";