Мы с этим работаем, и он должен определить, будет ли новый и старый идентификатор поставщика удален. Конечной игрой этого будет взятие старого vend_id и его замена будет новой. В реальном мире вам потребуются поставщики, которые вы больше не используете, и замените их теми, которые вы делаете. Сценарий выглядит хорошо для меня, но я продолжаю получать желтую строку под выборами курсоров.Замена старого поставщика на новый
CREATE OR REPLACE FUNCTION EX5B_SUPPLIER_EXIST
(
OLD_SUPPLIER_ID IN VARCHAR2
, NEW_SUPPLIER_ID IN VARCHAR2
) RETURN boolean AS
cursor supplier_cursor is
select count(*),
(select count(*)as
from supplier
where supplier_id=new_supplier_id)+1 as new_id
from supplier
where supplier_id =old_supplier_id
group by supplier_id;
supplier_row supplier_cursor%rowtype;
BEGIN
open supplier_cursor;
fetch supplier_cursor into supplier_row;
if supplier_row.new_id > 1 then
return true;
else return false;
end if;
close supplier_cursor;
END EX5B_SUPPLIER_EXIST;
Я забыл упомянуть, но он компилируется. – JBBeginner
Что означает желтая линия в вашем окружении? В вашем запросе «как» появляются сразу после «count (*)» без псевдонимов вообще. – pablomatico
Что происходит, когда вы запускаете свою функцию? Это ожидалось? (Я предполагаю, что вы не просите удалить желтую линию). –