当前位置: 代码迷 >> Oracle技术 >> 调用包里的过程导入数据,报没有声明,到底怎么声明?
  详细解决方案

调用包里的过程导入数据,报没有声明,到底怎么声明?

热度:349   发布时间:2016-04-24 08:06:18.0
调用包里的过程导入数据,报没有声明,到底如何声明???
本帖最后由 z2313531 于 2015-01-29 13:44:34 编辑


我就想问下怎么解决这个问题,不是问出了什么问题。

包里具体的内容
 PROCEDURE insert_emp_sap_lifnr_expand
  (
    p_employee_id NUMBER,
    p_company_id  NUMBER,
    p_sap_lifnr   VARCHAR2,
    p_user_id     NUMBER
  ) IS
    v_count NUMBER := 0;
  
    e_sap_lifnr_duplicate_error EXCEPTION;
  BEGIN
    --校验员工供应商是否重复
    SELECT COUNT(1)
      INTO v_count
      FROM exp_emp_assigns_sap_lifnr l
     WHERE l.employee_id = p_employee_id
           AND l.company_id = p_company_id;
  
    IF v_count > 0 THEN
      RAISE e_sap_lifnr_duplicate_error;
    END IF;
  
    --新增
    insert_exp_emp_sap_lifnr(p_employee_id => p_employee_id,
                             p_company_id  => p_company_id,
                             p_sap_lifnr   => p_sap_lifnr,
                             p_user_id     => p_user_id);
  
    --传SAP
    csc_iface_vender_pkg.sap_vender_save(p_employee_id => p_employee_id,
                                         p_company_id  => p_company_id);
  EXCEPTION
    WHEN e_sap_lifnr_duplicate_error THEN
      sys_raise_app_error_pkg.raise_user_define_error(p_message_code            => 'EXP_SAP_LIFNR_DUPLICATE_ERROR',
                                                      p_created_by              => p_user_id,
                                                      p_package_name            => 'EXP_EMP_SAP_LIFNR_PKG',
                                                      p_procedure_function_name => 'INSERT_EMP_SAP_LIFNR_EXPAND');
      raise_application_error(sys_raise_app_error_pkg.c_error_number,
                              sys_raise_app_error_pkg.g_err_line_id);
  END insert_emp_sap_lifnr_expand;
------解决思路----------------------
你那个是包体,检查包里是否有声明
另外,是否是用错包了,比如用了不同的用户
------解决思路----------------------
好吧... 败给你了
  相关解决方案