高手帮忙,关于oracle重的存储过程

铜戈 2000-08-14 05:10:00
请大家帮忙看看下面折断代码有什么错误

create or replace function login(workno in char,password in char)
return varchar2
is
t2 varchar2(8);
begin

select czykl into t2 from g_czydmk where czygh=workno;

return(t2);
end;

如果表g_czydm中没有该workno,则该函数什么都不返回
这是为什么?
好像select ..................执行出错后就不运行下面的代码了

希望大家帮帮我
...全文
98 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
heshengjie 2000-10-20
  • 打赏
  • 举报
回复
是要出错的,如果Select ...Into ... FROM ...语句找不到的话。
可以用游标来实现您的要求。
create or replace function login(workno in char,password in char)
return varchar2
is
t2 varchar2(8);

CURSOR c(p_WorkNo CHAR) FOR
SELECT czykl FROM g_czydmk WHERE czygh=:p_WorkNo;

begin
OPEN c(workno);
IF SQL%NOTFOUND THEN
t2='0';
ELSIF
t2=c.czykl;
END IF;
--select czykl into t2 from g_czydmk where czygh=workno;

return(t2);
end;


mnbvcxz 2000-08-14
  • 打赏
  • 举报
回复
加入例外处理

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧