首页 > 解决方案 > 如何修复“表或视图不存在”错误

问题描述

包名称“emp_helper”是在“emp”用户下创建的。

  1. 已创建新用户“emp_client”并授予“emp_helper”包的执行和调试权限。
  2. 它具有功能,其代码如下

当我使用输入(111 和 FULL)运行程序时,我在下面

ORA-00942: table or view does not exist
ORA-06512: at "EMP.EMP_HELPER", line 18
ORA-06512: at line 10

**Note:** Line 10: v_lst_no   NUMBER;
Line 18: SELECT

CREATE OR REPLACE PACKAGE BODY emp.emp_helper AS

    FUNCTION get_version_no (
        p_countryid          IN VARCHAR2,
        p_emp_type           IN VARCHAR2,
        p_processed_version  OUT NUMBER
    ) RETURN NUMBER
    AS
        v_latest_no        NUMBER;
        v_lst_no           NUMBER;
        v_job_in_progress  VARCHAR2(1);
        v_result           NUMBER;
        v_cust_cnt         NUMBER;
    BEGIN
        BEGIN
            SELECT MIN(version_no) INTO v_lst_no
            FROM   emp_identification
            WHERE  country_id = p_countryid;                 
        END;

        p_processed_version := v_lst_no;
        RETURN v_latest_no;
    END;

END emp_helper;

我希望在执行时返回一个数字。

标签: databaseoraclestored-proceduresstored-functions

解决方案


使用 EMP.emp_identification 而不是 emp_identification 和 GRANT SELECT ON EMP.emp_identification TO emp_user。或者,您可以为 EMP.emp_identification(公共或仅在 emp_user 的模式中)创建 SINONYM。


推荐阅读