ВУЗ:
Составители:
Рубрика:
28
operator1;
operator2;
. . .
WHEN OTHERS
THEN
operator1;
operator2;
. . .]
где exception1..N – описываемые исключения, operator1..N – операторы
PL/SQL для обработки соответствующих исключений.
Примеры некоторых предопределенных исключений Oracle:
– NO_DATA_FOUND (ORA-01403). Команда SELECT на выборку
одной строки не вернула данных.
– TOO_MANY_ROWS (ORA-01422). Команда SELECT на выборку
одной строки вернула более одной строки.
– INVALID_CURSOR (ORA-01001). Недопустимая операция с кур-
сором.
– ZERO_DIVIDE (ORA-01476). Попытка деления на ноль.
– DUP_VAL_ON_INDEX (ORA-00001). Попытка вставки дубликата
значения в столбец,
для которого имеется уникальный индекс.
Пример процедуры с блоком обработки предопределенных исключений:
PROCEDURE elim_inventory
(v_product_id IN s_product.id%TYPE) IS
v_id s_product.id%TYPE;
BEGIN
SELECT id
INTO v_id
FROM s_product
WHERE id=v_product_id;
DELETE FROM s_inventory
WHERE product_id=v_product_id;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
operator1;
operator2;
. . .
WHEN OTHERS
THEN
operator1;
operator2;
. . .]
где exception1..N описываемые исключения, operator1..N операторы
PL/SQL для обработки соответствующих исключений.
Примеры некоторых предопределенных исключений Oracle:
NO_DATA_FOUND (ORA-01403). Команда SELECT на выборку
одной строки не вернула данных.
TOO_MANY_ROWS (ORA-01422). Команда SELECT на выборку
одной строки вернула более одной строки.
INVALID_CURSOR (ORA-01001). Недопустимая операция с кур-
сором.
ZERO_DIVIDE (ORA-01476). Попытка деления на ноль.
DUP_VAL_ON_INDEX (ORA-00001). Попытка вставки дубликата
значения в столбец, для которого имеется уникальный индекс.
Пример процедуры с блоком обработки предопределенных исключений:
PROCEDURE elim_inventory
(v_product_id IN s_product.id%TYPE) IS
v_id s_product.id%TYPE;
BEGIN
SELECT id
INTO v_id
FROM s_product
WHERE id=v_product_id;
DELETE FROM s_inventory
WHERE product_id=v_product_id;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
28
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
