У меня есть две таблицы Table1 и dTable2, которые имеют идентичные столбцы.Мне нужно проверить, есть ли конкретный идентификатор в одном из них и вернуть строку данных из любой таблицы.У меня есть следующий код PL / SQL:
v_result Table1%ROWTYPE;
BEGIN
SELECT a.*
INTO v_result
FROM Table1 a
WHERE a.id = 123;
EXCEPTION
WHEN NO_DATA_FOUND THEN -- when record not found
SELECT b.*
INTO v_result
FROM Table2 b
WHERE b.id = 123;
END;
Проблема в том, что исключение не генерируется, поэтому v_result не возвращает данных.Как я могу проверить v_result на количество строк?
Для курсора я могу использовать ROWCOUNT, но v_result не является курсором.
Я также пытался использовать свойство count, но оно выдало ошибку.
Я изменил свой код на:
v_result Table1%ROWTYPE;
BEGIN
SELECT a.*
INTO v_result
FROM Table1 a
WHERE a.id = 123;
if v_result.count =0 then
SELECT b.*
INTO v_result
FROM Table2 b
WHERE b.id = 123;
end if;
EXCEPTION
WHEN NO_DATA_FOUND THEN -- when record not found
SELECT b.*
INTO v_result
FROM Table2 b
WHERE b.id = 123;
END;
И получил ошибку component 'count' must be declared
Что я делаю не так?