ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »