Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 用于光标连接表_Oracle_Plsql - Fatal编程技术网

Oracle 用于光标连接表

Oracle 用于光标连接表,oracle,plsql,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 i

您能帮我解决吗?无法解决此问题,我收到以下错误消息:

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论坛和

还尝试通过以下示例执行此操作:

但结果基本相同

我可以通过
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;

提前感谢:)

您提到的任何一个表都是
无效的
(可能是您运行的
无效架构
,或者没有
公共同义词

还注意到
国家/地区id
不明确。需要是
c.country\u id

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

如果您在windows上,请使用SQLTools IDE

当出现错误时,光标直接跳到 错误是


您可以为光标本身运行select吗?您是否缺少架构前缀?我可以使用SELECT分别访问这两个表。我认为这可能是一个连接错误,在FROM子句的表名前面尝试了模式前缀,也没有运气。请查看我的答案,检查该表的权限(如果是通过角色)。让我们简化问题。将select更改为单个表中的单个列,并验证是否可以在该表中进行选择,然后尝试另一列。如果这两种方法都有效的话,你们可以把注意力集中在一个连接问题上。嘿,伙计们!谢谢大家,特别是Maheswaran Ravisankar,SELECT语句中缺少了“c.”前缀:)