Может ли курсор сделать запрос выбора соединения? - PullRequest
0 голосов
/ 08 мая 2018

Я хочу написать курсор, содержащий запрос соединения, чтобы я мог печатать значения из столбцов двух отдельных таблиц. Как мне это сделать?

Вот моя неудачная попытка.

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 голосов
/ 08 мая 2018

Вы получили ошибку, потому что вы не используете псевдонимы для столбца "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;
0 голосов
/ 08 мая 2018

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;
...