我有一个作业,课程材料不包括如何执行此操作,并且网络搜索对功能中的游标没有帮助。
赋值是返回数据库中的所有姓氏,但根据case语句参数进行更改。我需要使用光标。这是我的代码:
create or replace function Convert_New_Name
return sys_refcursor
as
c_results sys_refcursor;
begin
open c_results for
select
case last_name
when 'King' then 'LION'
when 'Ford' then 'CAR'
when 'Miller' then 'BEER'
else last_name
end as new_name
from employees;
return c_results;
end convert_new_name;
我很难找到与搜索相关的任何内容。该数据库有20行。此代码返回所有20行,包含所需的更改,但它返回20行 20次,而不是一次。
这里有另一篇文章几乎相同的任务,但当我试图在那里发帖时,它被删除了,我被告知要问我自己的问题。
答案 0 :(得分:1)
您发布的功能代码很好。调用代码应仅调用一次的函数Convert_New_Name
。如果您打算从SQL语句中调用它,那么此查询应该完成这项工作:
Select Convert_New_Name() From dual;