Получить ошибку если запись не найден
Надо написать такую логику если V_CLIENT равен нулю то тогда надо сделать EXCEPTION NO_DATA_FOUND, но тут у меня как то не получаеться.
PROCEDURE PUT(CODE IN VARCHAR2,
O_NOT_FOUND OUT INTEGER) IS
V_CLIENT INTEGER;
BEGIN
O_NOT_FOUND := 0;
SELECT COUNT(*)
INTO V_CLIENT
FROM RK.CODES C
WHERE C.VALUE = CODE
AND C.TYPE = 'CLIENT_CODE';
EXCEPTION
WHEN NO_DATA_FOUND THEN
O_NOT_FOUND := 1;
END;
Ответы (2 шт):
Автор решения: Akina
→ Ссылка
Как-то так:
PROCEDURE PUT( code IN VARCHAR2,
o_not_found OUT INTEGER) IS
DECLARE
no_data_found EXCEPTION;
BEGIN
o_not_found := 0;
IF NOT EXISTS ( SELECT NULL
FROM RK.CODES
WHERE value = code AND type = 'CLIENT_CODE'
) THEN
RAISE no_data_found;
END IF;
EXCEPTION
WHEN no_data_found THEN
o_not_found := 1;
END;
Автор решения: s.vasilev
→ Ссылка
PROCEDURE PUT(CODE IN VARCHAR2,
O_NOT_FOUND OUT INTEGER) IS
BEGIN
SELECT 0
INTO O_NOT_FOUND
FROM RK.CODES C
WHERE C.VALUE = CODE
AND C.TYPE = 'CLIENT_CODE';
EXCEPTION
WHEN NO_DATA_FOUND THEN
O_NOT_FOUND := 1;
END;