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

UptoLike

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

36
PL/SQL создает неявный курсор с идентификатором SQL. Существуют ат-
рибуты, которые позволяют увидеть результат последнего неявного курсора:
SQL%ROWCOUNT – целое количество строк, выбранных последней
командой SQL;
SQL%FOUND – логический атрибут, имеющий значение TRUE, если
последней командой SQL была выбрана хотя бы одна строка;
SQL%NOTFOUND – имеет значение TRUE, если последней коман-
дой не было выбрано ни одной строки;
SQL%ISOPEN – всегда FALSE (так
как PL/SQL всегда закрывает не-
явные курсоры сразу после их выполнения).
Пример процедуры, выполняющей удаление строк из таблицы и ис-
пользующей атрибуты курсора:
PROCEDURE del_rows (v_ord_id NUMBER)
IS
v_rows_deleted NUMBER;
BEGIN
DELETE FROM s_item
WHERE ord_id=v_ord_id;
v_rows_deleted:=SQL%ROWCOUNT;
DBMS_OUTPUT.PUT_LINE(
TO_CHAR(v_rows_deleted)
||’ rows deleted.’);
END;
Управлять логикой транзакций можно с помощью команд COMMIT
и ROLLBACK языка SQL. Эти действия могут происходить как в самом
блоке PL/SQL, так и в результате событий, происходящих во внешней среде.
Форматы команд:
COMMIT [WORK];
ROLLBACK [WORK] TO
[SAVEPOINT] savepoint_name;
SAVEPOINT savepoint_name;
где savepoint_name – имя точки отката.
PL/SQL создает неявный курсор с идентификатором SQL. Существуют ат-
рибуты, которые позволяют увидеть результат последнего неявного курсора:
     SQL%ROWCOUNT – целое количество строк, выбранных последней
командой SQL;
     SQL%FOUND – логический атрибут, имеющий значение TRUE, если
последней командой SQL была выбрана хотя бы одна строка;
     SQL%NOTFOUND – имеет значение TRUE, если последней коман-
дой не было выбрано ни одной строки;
     SQL%ISOPEN – всегда FALSE (так как PL/SQL всегда закрывает не-
явные курсоры сразу после их выполнения).
     Пример процедуры, выполняющей удаление строк из таблицы и ис-
пользующей атрибуты курсора:

     PROCEDURE del_rows (v_ord_id NUMBER)
     IS
        v_rows_deleted NUMBER;
     BEGIN
         DELETE FROM s_item
              WHERE ord_id=v_ord_id;
      v_rows_deleted:=SQL%ROWCOUNT;
      DBMS_OUTPUT.PUT_LINE(
                       TO_CHAR(v_rows_deleted)
                       ||’ rows deleted.’);
     END;

      Управлять логикой транзакций можно с помощью команд COMMIT
и ROLLBACK языка SQL. Эти действия могут происходить как в самом
блоке PL/SQL, так и в результате событий, происходящих во внешней среде.
Форматы команд:

     COMMIT [WORK];

     ROLLBACK [WORK] TO
              [SAVEPOINT] savepoint_name;

     SAVEPOINT savepoint_name;

где savepoint_name – имя точки отката.

                                         36