wyl458619358 2017-08-02 00:21 采纳率: 0%
浏览 705

PROCEDURE报错,请大神帮忙看看是什么问题

报错信息:Warning: compiled but with compilation errors
CLOSE mp_info;
ORA-00900: invalid SQL statement

CREATE OR REPLACE PROCEDURE SCC_B2B.HIS_MP_INFO_PRO IS

v_from date;
v_to date;

CURSOR mp_info IS
--QTY ITEM
SELECT * from wip

mp_record mp_info%ROWTYPE;

-- Variables Declarations

var_DUPLICATE_COUNT NUMBER;

BEGIN

dw.get_lastrefresh ('HIS_MP_INFO',
                             v_from,
                             v_to);
v_from := v_from -1;
v_to :=   trunc(sysdate, 'HH'); 

OPEN mp_info;

FETCH mp_info INTO mp_record;

WHILE mp_info%FOUND LOOP

    var_DUPLICATE_COUNT   := 0;

     SELECT
                COUNT(*)
            INTO
                var_DUPLICATE_COUNT
            FROM 
                scc_b2b.his_mp_info 
            WHERE
                VENDOR_LOT_NUMBER = mp_record.VENDOR_LOT_NUMBER AND
                VER = mp_record.VER AND
                PROCESS_CODE = mp_record.PROCESS_CODE AND
                PROCESS_SEQ = mp_record.PROCESS_SEQ AND   
                ITEM_NAME = mp_record.ITEM_NAME 

      IF (var_DUPLICATE_COUNT = 0) THEN

    INSERT INTO SCC_B2B.HIS_MP_INFO (CUST,
                             CUST_CODE,
                             PKG,
                             PIN,
                             DEVICE,
                             HISILICON_ITEM,
                             PARTNAME,
                             CUST_LOT_NO,
                             WAFER_LOT_NO,
                             VENDOR_LOT_NUMBER,
                             VENDOR_SUBLOT_NUMBER,
                             VER,
                             CREATION_DATE,
                             INTERNAL_OPER,
                             PROCESS_CODE,
                             PROCESS_SEQ,
                             CATEGORY,
                             ITEM_NAME,
                             ITEM_VALUE,
                             MIN,
                             MAX,
                             SEND_FLAG)
        VALUES (mp_record.CUST,
             mp_record.CUST_CODE,
             mp_record.PKG,
             mp_record.PIN,
            mp_record.DEVICE,
             mp_record.HISILICON_ITEM,
             mp_record.PARTNAME,
             mp_record.CUST_LOT_NO,
            mp_record.WAFER_LOT_NO,
             mp_record.VENDOR_LOT_NUMBER,
             mp_record.VENDOR_SUBLOT_NUMBER,
             mp_record.VER,
             mp_record.CREATION_DATE,
             mp_record.INTERNAL_OPER,
             mp_record.PROCESS_CODE,
             mp_record.PROCESS_SEQ,
             mp_record.CATEGORY,
             mp_record.ITEM_NAME,
            mp_record.ITEM_VALUE,
             mp_record.MIN,
             mp_record.MAX,
             mp_record.SEND_FLAG);

             COMMIT;
             END IF ;
    FETCH mp_info INTO mp_record;
END LOOP;

CLOSE MP_INFO;

    Dw.Update_LastRefresh ('HIS_MP_INFO', v_to);

EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
var_errmsg := NVL (SUBSTR (SQLERRM, 1, 256), 'NA');
DBMS_OUTPUT.put_line ('N' || '.' || var_errmsg);

     INSERT INTO DW_ERRLOG  (report_id,
                                     job_no,
                                     run_time,
                                     from_time,
                                     to_time,
                                     success_cd,
                                     error_desc)
          VALUES ('ADI_StartEvents',
                  1,
                 to_char(SYSDATE,'yyyymmddhh24miss'),
                  to_char(SYSDATE,'yyyymmddhh24miss'),
                  to_char(SYSDATE,'yyyymmddhh24miss'),
                  'N',
                  'FAILED'   || '.' || var_errmsg);


     COMMIT;

END;

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2018-06-24 16:15
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办