Если вы хотите игнорировать условие вы должны сгенерировать ограничение и ассоцииро-
вать его с пустым блоком .
DECLARE CONTINUE HANDLER
FOR SQLWARNING BEGIN END;
Пример
CREATE PROCEDURE p ()
BEGIN
DECLARE i INT DEFAULT 3;
retry:
REPEAT
BEGIN
DECLARE CONTINUE HANDLER FOR SQLWARNING
BEGIN
ITERATE retry; # illegal
END;
END;
IF i < 0 THEN
LEAVE retry; # legal
END IF;
SET i = i - 1;
UNTIL
FALSE END REPEAT;
END;
Курсоры
Курсор — в некоторых реализациях
языка программирования
SQL
(
Oracle
,
Microsoft
SQL Server
) — получаемый при выполнении
запроса
результирующий набор и связанный с
ним указатель текущей записи.
Курсор может возвращать одну строку, несколько строк или ни одной строки. Для
запросов, возвращающих более одной строки, можно использовать только явный курсор.
Для повторного создания результирующего набора для других значений параметров курсор
следует закрыть, а затем повторно открыть.
Курсор может быть объявлен в секциях объявлений любого блока
PL/SQL
, подпрограммы
или пакета.
Операторы управления явным курсором
•
Оператор CURSOR выполняет объявление явного курсора.
•
Оператор OPEN открывает курсор, создавая новый результирующий набор на базе
указанного запроса.
•
Оператор FETCH выполняет последовательное извлечение строк из результирующе-
го набора от начала до конца.
•
Оператор CLOSE закрывает курсор и освобождает занимаемые им
ресурсы
Курсоры поддерживают хранимые процедуры и функции. Сейчас курсоры имеют три
свойства:
•
Asensitive: The server may or may not make a copy of its result table
•
Read only: Not updatable
•
Non-scrollable: Can be traversed only in one direction and cannot skip rows
59
Курсоры должны быть объявлены перед объявлением ограничений. Переменные и усло-
вия должны быть объявлены перед курсором.
Достарыңызбен бөлісу: