用新的替换旧供应商

时间:2015-10-08 01:53:29

标签: function plsql count cursor

一位朋友和我一直在研究这个问题基本上应该确定一个新的供应商ID是否退出。最后一个游戏将采用旧的supplier_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;

1 个答案:

答案 0 :(得分:0)

尝试删除刚刚计数后的*(*)。但是保持不会产生任何问题。