游标可以执行选择连接查询吗?

时间:2018-05-08 09:56:13

标签: sql oracle plsql cursor

我想编写一个包含连接查询的游标,以便我能够打印 来自两个单独表的列的值。我该怎么做?

这是我失败的尝试。

DECLARE
CURSOR curs is select C_SEC_ID, COURSE_NO from COURSE_SECTION
JOIN COURSE ON COURSE_SECTION.COURSE_NO = COURSE.COURSE_NO
WHERE COURSE_NO LIKE '%MIS%';
BEGIN
NULL;
END;

2 个答案:

答案 0 :(得分:1)

可以使用

dbms_output.put_line

SQL> set serveroutput on;
SQL> DECLARE
CURSOR curs is 
  SELECT s.C_SEC_ID, c.COURSE_NO 
    FROM COURSE_SECTION s JOIN COURSE c ON ( s.COURSE_NO = c.COURSE_NO )
   WHERE s.COURSE_NO LIKE '%MIS%';
BEGIN
   for c in curs
   loop
     dbms_output.put_line(c.C_SEC_ID||'  '||c.COURSE_NO);
   end loop;
END;

答案 1 :(得分:1)

您失败了,因为您没有对“COURSE_NO”列使用任何别名,并且此列属于您的方案中的两个表。

尝试下面的PL / SQL块。

DECLARE
  CURSOR curs is 
    select C_SEC_ID, COURSE_SECTION.COURSE_NO
      from COURSE_SECTION
      JOIN COURSE
        ON COURSE_SECTION.COURSE_NO = COURSE.COURSE_NO
  WHERE COURSE_SECTION.COURSE_NO LIKE '%MIS%';
BEGIN
NULL;
END;