我在Oracle中有一个存储过程。我想在Oracle的JOBS中调用它。
DECLARE
P_DATE DATE;
BEGIN
P_DATE := TO_DATE ('19/10/2016', 'DD/MM/YYYY');
MITRA.PENJUALAN_ANTAR_CABANG.REPORTKONSOLRK ( P_DATE );
COMMIT;
END;
当我执行P_DATE作为' 19/10/2016'时,结果是正确的。但是当我在下面改变它时,结果不会显示。
DECLARE
P_DATE DATE;
BEGIN
P_DATE := TO_DATE (TRUNC (SYSDATE - 1), 'DD/MM/YYYY');
MITRA.PENJUALAN_ANTAR_CABANG.REPORTKONSOLRK (P_DATE);
COMMIT;
END;
我的查询错误是什么,而如果我运行select trunc(SYSDATE-1) from dual
则日期是正确的。
答案 0 :(得分:4)
SYSDATE - 1
已经是date
。将其传递给to_date
将产生语法错误。只需放弃to_date
电话就可以了:
P_DATE := TRUNC(SYSDATE - 1);