sql >> Databasteknik >  >> RDS >> Oracle

Visa avdelningsnamn med hjälp av Cursors.Skapa ett PL/SQL-block för att visa alla avdelningsnamn från avdelningstabellen med hjälp av markörer

Det handlar om de där "fantastiska" enstaka citaten du använde här:

DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);

borde vara

DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);

Som för andra "fel" du har gjort:utan en loop , returnerar markören endast en rad och du visar den sedan. Jag skulle föreslå att du byter till en markör för loop eftersom det är enklare att underhålla:

begin
  for cur_r in (select department_name from department) loop
    dbms_output.put_line(cur_r.department_name);
  end loop;
end;
/

Detta är allt du behöver; ingen deklarationssektion, ingen öppning eller stängning av en markör, ingen oro för att lämna loopen ... Oracle gör det åt dig.



  1. Hur snittar man tidsintervaller?

  2. Returnera id om en rad finns, INSERT annars

  3. Extrahera första talvärdet från string sql

  4. NULL-hantering i MySQL efter uppdateringsutlösare som endast aktiveras vid dataändring