对于游标连接表

时间:2013-12-16 14:26:04

标签: oracle plsql

你能帮助我吗,无法弄清楚这一点,我收到以下错误信息:

ORA-06550: line 4, column 32:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 3, column 8:
PL/SQL: SQL Statement ignored
ORA-06550: line 11, column 32:
PLS-00364: loop index variable 'V_CUR_SPOKENLANG' use is invalid
ORA-06550: line 11, column 11:
PL/SQL: Statement ignored

试图在Oracle论坛中找到解决方案 http://www.techonthenet.com/oracle/errors/ora00942.php

还尝试通过此示例执行此操作: http://www.w3schools.com/sql/sql_join_inner.asp

但结果基本相同。

我可以使用SELECT访问这两个表。

我遇到问题的代码:

DECLARE
CURSOR cur_spokenlang IS
   SELECT country_id, country_name, language_id 
      FROM wf_countries c, wf_spoken_langugages sl
         WHERE c.country_id = sl.country_id;            
BEGIN
FOR v_cur_spokenlang IN cur_spokenlang
   LOOP
      DBMS_OUTPUT.PUT_LINE(v_cur_spokenlang.country_name || ' ' ||   
                           v_cur_spokenlang.country_id || ' ' || 
                           v_cur_spokenlang.language_id);
END LOOP;
END;

提前谢谢你:)

2 个答案:

答案 0 :(得分:1)

您提到的任何一个表格都是INVALID(可能是invalid schema您运行的,或者没有PUBLIC SYNONYM。)

同时注意到country_id不明确。需要c.country_id

请确保您拥有该用户的权限,而不是通过任何ROLES。因为要通过PL / SQL进行访问,用户ID需要对表具有直接SELECT权限。!

答案 1 :(得分:1)

  

如果您在Windows上使用SQLTools IDE。 http://www.sqltools.net/

     

每当出现错误时。光标直接跳转到哪里   错误是。