Kiedy piszesz select * from some_table;
w SQL*Plus, SQL*Plus
działa jako program kliencki i wykonuje dla ciebie dużo pracy, pod przykrywką, w zakresie danych zwracanych z bazy danych, formatowania ich i wyświetlania.
Jak tylko wpiszesz DECLARE
, zaczynasz blok PL/SQL. Teraz wołasz PL/SQL, a PL/SQL wołasz SQL. W rezultacie musisz zdecydować, jak obsłużyć dane zwracane z SQL w PL/SQL. Sposobem na to jest użycie INTO
klauzula i zmienna do odbioru danych wyjściowych. Biorąc to pod uwagę, gdzie byłyby dane wyjściowe z SELECT
idź, jeśli nie podasz INTO
klauzula? Musi gdzieś iść, prawda?
Mam nadzieję, że to jasne.