我希望在 Oracle 中创建一个函数,我可以在其中将值作为字符串传递并返回一个列表。例如,我想要一个函数,我给它一个书名,它返回一个拥有该书的用户列表。
我创建了下面的函数,其中包含我不确定如何修复以及它是否是正确的方法的警告。
CREATE OR REPLACE Function UsersForBooks
( name_in IN varchar(250) )
RETURN varchar(250)
IS
listToReturn varchar(250);
cursor c1 is
SELECT username
FROM (GC_User NATURAL JOIN GC_Books)
NATURAL JOIN GC_BookOwnership
WHERE GC_Books.title = name_in
;
BEGIN
open c1;
fetch c1 into listToReturn;
close c1;
RETURN listToReturn;
END;
/
我以以下方式调用我的函数,但不确定它是否正确。
SELECT * FROM UsersForBooks('The Da Vinci Code');