Plsql 如何在PL/SQL中的函数中使用游标
我有一个作业,课程材料没有介绍如何做,而且关于函数中的游标,网络搜索也没有帮助 赋值是返回数据库中的所有姓氏,但根据case语句参数更改任何姓氏。我需要使用光标。这是我的密码:Plsql 如何在PL/SQL中的函数中使用游标,plsql,oracle11g,Plsql,Oracle11g,我有一个作业,课程材料没有介绍如何做,而且关于函数中的游标,网络搜索也没有帮助 赋值是返回数据库中的所有姓氏,但根据case语句参数更改任何姓氏。我需要使用光标。这是我的密码: create or replace function Convert_New_Name return sys_refcursor as c_results sys_refcursor; begin open c_results for
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次,而不是一次
这里有另一篇文章,内容几乎相同,但当我试图在那里发表文章时,它被删除了,我被告知要问我自己的问题。你发表的功能代码很好。调用代码应该只调用函数
Convert\u New\u Name
一次。如果您计划从SQL语句调用它,则此查询应执行以下操作:
Select Convert_New_Name() From dual;
这个函数看起来不错。请发布调用函数的代码。
从employees中选择convert_new_name()代码>啊,现在我明白了。该函数返回20行,并被调用20次:employees表中的每行调用一次。请参阅我修改的答案。