Основы языка PL/SQL. Гаршина В.В - 40 стр.

UptoLike

Составители: 

40
EXIT WHEN item_cursor%ROWCOUNT > 5
OR item_cursor%NORFOUND;
v_order_total:=v_order_total +
v_item_total;
DBMS_OUTPUT.PUT_LINE(‘Сумма по товару ‘||
равна ‘||TO_CHAR(v_order_total,
’$999,999,999.99’));
END LOOP;
CLOSE item_cursor
END ord_process;
На основе выборочного списка столбцов в явном курсоре можно оп-
ределить запись. Этот способ удобен для обработки строк активного набо-
ра, поскольку позволяет производить выборку данных в запись. Пример
использования записи:
CURSOR emp_cursor IS
SELECT id, salary, start_date, rowid
FROM s_emp
WHERE dept_id=41;
emp_record emp_cursor%ROWTYPE;
BEGIN
OPEN emp_cursor;
. . .
FETCH emp_cursor INTO emp_record;
Можно передавать значения курсору в момент открытия с помощью
параметров. Синтаксис создания курсора с параметром:
CURSOR cursor_name
[(par_name data_type, ...)]
IS select_statement;
где cursor_name – имя курсора, par_name – имя параметра, data_type – тип
параметра, select_statement – предложение SELECT. Пример использования
курсора с параметром:
         EXIT WHEN item_cursor%ROWCOUNT > 5
              OR item_cursor%NORFOUND;
         v_order_total:=v_order_total +
                           v_item_total;
     DBMS_OUTPUT.PUT_LINE(‘Сумма по товару ‘||
     ’ равна ‘||TO_CHAR(v_order_total,
                         ’$999,999,999.99’));
       END LOOP;
       CLOSE item_cursor
     END ord_process;

      На основе выборочного списка столбцов в явном курсоре можно оп-
ределить запись. Этот способ удобен для обработки строк активного набо-
ра, поскольку позволяет производить выборку данных в запись. Пример
использования записи:

     CURSOR emp_cursor IS
          SELECT id, salary, start_date, rowid
           FROM s_emp
           WHERE dept_id=41;
     emp_record emp_cursor%ROWTYPE;
     BEGIN
           OPEN emp_cursor;
         . . .
       FETCH emp_cursor INTO emp_record;

     Можно передавать значения курсору в момент открытия с помощью
параметров. Синтаксис создания курсора с параметром:

     CURSOR cursor_name
     [(par_name data_type, ...)]
     IS select_statement;

где cursor_name – имя курсора, par_name – имя параметра, data_type – тип
параметра, select_statement – предложение SELECT. Пример использования
курсора с параметром:

                                     40