(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Использование неявных курсоров при DML-операциях

Источник: oraclemaniacs

Наверняка у многих возникала необходимость внутри PL\SQL блока проверить, сколько строк было вставлено, удалено или обновлено последней DML-операцией. Все знают, что где-то оно должно быть, но не все представляют где. В SQL*Plus да и в различных оболочках для работы с БД мы видим надписи


SQL> UPDATE test_tab t SET t.col1=1;

3 rows updated

Но как проверить результат выполнения в коде?
Для подобных целей в СУБД Oracle предусмотрен неявный курсор, который позволяет читать информацию о последнем отработавшем курсоре. Удивительно, но имя ему SQL!
Данный неявный курсор имеет следующие атрибуты: %FOUND, %ISOPEN, %NOTFOUND, и %ROWCOUNT.
%FOUND показывает, было ли изменение строк.
%NOTFOUND - DML-операция не смогла изменить строки.
%ROWCOUNT - на какое количество строк распространялась DML-операция.
%ISOPEN - всегда FALSE, т.к. СУБД закрывает все курсоры, связанные с SQL-выражением, сразу после завершения DML-операции.

Пример из официальной документации:

CREATE TABLE employees_temp AS SELECT * FROM employees;
BEGIN
  UPDATE employees_temp 
     SET salary = salary * 1.05 
   WHERE salary < 5000;

  DBMS_OUTPUT.PUT_LINE('Updated ' // SQL%ROWCOUNT // 
                       ' salaries.');
END;
/

Решил попробовать прицепить подсветку синтаксиса от Ивана Салагаева. Посмотрим как там чего.
UPD: не получается...
UPD: получилось!

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 25.11.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Standard Edition 2 Processor License
Oracle Database Standard Edition 2 Named User Plus License
Oracle Database Personal Edition Named User Plus License
Quest Software. Toad for SQL Server Development Suite
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новые материалы
Компьютерные книги. Рецензии и отзывы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100