кодесурса
«PL / SQL

Упражнения для курсора PL / SQL: извлечение первых трех строк результирующего набора в три записи с использованием одного и того же явного курсора в разные переменные

script1adsense2code
script1adsense3code

Курсор PL / SQL: упражнение 26 с решением

Напишите программу на PL / SQL для извлечения первых трех строк результирующего набора в три записи, используя один и тот же явный курсор для разных переменных.

Пример решения:

Код PL / SQL:

DECLARE
  CURSOR empcur IS
    SELECT e.first_name,e.job_id, j.job_title
    FROM employees e, jobs j
    WHERE e.job_id = j.job_id AND e.manager_id = 148
    ORDER BY last_name;
 
  emp_job1 empcur%ROWTYPE;
  emp_job2 empcur%ROWTYPE;
  emp_job3 empcur%ROWTYPE;
 
BEGIN
  OPEN empcur;
  FETCH empcur INTO emp_job1; 
  FETCH empcur INTO emp_job2;  
  FETCH empcur INTO emp_job3; 
  CLOSE empcur;
 
  DBMS_OUTPUT.PUT_LINE(Rpad(emp_job1.first_name, 25, ' ')||emp_job1.job_title || ' (' || emp_job1.job_id || ')');
  DBMS_OUTPUT.PUT_LINE(Rpad(emp_job2.first_name, 25, ' ')||emp_job2.job_title || ' (' || emp_job2.job_id || ')');
  DBMS_OUTPUT.PUT_LINE(Rpad(emp_job3.first_name, 25, ' ')||emp_job3.job_title || ' (' || emp_job3.job_id || ')');
END;
/

Пример вывода:

 SQL> /
Элизабет Торговый представитель (SA_REP)
Торговый представитель Harrison (SA_REP)
Торговый представитель Tayler (SA_REP)
Процедура PL / SQL успешно завершена.

Блок - схема:

«Блок-схема:

Улучшите этот пример решения и опубликуйте свой код через Disqus

Предыдущий: Напишите программу на PL / SQL, чтобы показать использование выборки по одной записи за раз, используя оператор извлечения внутри цикла.
Далее: Напишите блок PL / SQL, чтобы показать использование переменной в явном запросе курсора, и ни один набор результатов не будет затронут, несмотря на то, что значение переменной увеличивается после каждой выборки.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code