2015-10-08 1 views
0

Мы с этим работаем, и он должен определить, будет ли новый и старый идентификатор поставщика удален. Конечной игрой этого будет взятие старого 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; 
+0

Я забыл упомянуть, но он компилируется. – JBBeginner

+0

Что означает желтая линия в вашем окружении? В вашем запросе «как» появляются сразу после «count (*)» без псевдонимов вообще. – pablomatico

+0

Что происходит, когда вы запускаете свою функцию? Это ожидалось? (Я предполагаю, что вы не просите удалить желтую линию). –

ответ

0

Попробуйте удалить как сразу после счета (*). Тем не менее, если вы не создадите какую-либо проблему.