Курсор PL / SQL, возвращающий дубликаты - PullRequest
0 голосов
/ 01 декабря 2018

Мой курсор возвращает каждую строку дважды, и я не могу понять, как это остановить.Кто-нибудь может помочь?Большое спасибо.

Create or replace PROCEDURE p_event_loc (Passed_variable in varchar) 
IS
  Cursor c1 is 
    select en, ln, pn
      from Et, Rn, Ln2, Pt
      where Rn.status = 1
        and Pt.pid = Rn.pid
        and Et.eid = Rn.eid
        and Ln2.lid = Et.lid;
  E_en Et.en%type;
  L_ln Ln2.ln%type;
  P_pn Pt.pn%type;
BEGIN
  Open c1;
  Loop
    fetch c1 into E_en, L_ln, P_pn;
    exit when c1%notfound; 
    dbms_output.put_line(Passed_variable|| ' is registered for ' || E_en 
      || ' at ' || L_ln);
  End loop;
  Close c1;
END;

1 Ответ

0 голосов
/ 01 декабря 2018

Чтобы удалить дуклипкаты, используйте ключевое слово distinct после выбора:

 select distinct en, ln, pn
...