求助!请问这个自定义函数错在哪里??

[复制链接]
查看11 | 回复5 | 2006-3-9 12:34:30 | 显示全部楼层 |阅读模式
create function fun_isempty
(@str varchar(50)
,@r_str varchar(50)
)returns varchar(50)
as
begin
if @str='' then
return @r_str
else
return @str
end
函数的目的是,当第一参数 str的值是空字符串的时候,函数返回r_str参数.
如果str非空字符串,函数返回str本身!
回复

使用道具 举报

千问 | 2006-3-9 12:34:30 | 显示全部楼层
alter function fun_isempty
(@str varchar(50)
,@r_str varchar(50)
)returns varchar(50)
as
begin
declare @aa varchar(50)
if @str=''
set @aa=@r_str
else
set @aa= @str
return @aa
end
go
回复

使用道具 举报

千问 | 2006-3-9 12:34:30 | 显示全部楼层
谢谢~~
回复

使用道具 举报

千问 | 2006-3-9 12:34:30 | 显示全部楼层
呵呵, :)
这样的事情让人想拍人; 在函数中, 不能随便return 跳出, 应该只能 return 一次;
事务中也是, 往往有人到处return, 这样的问题让我头疼了很久了。
特别是动不动就 if return, 经常测试的时候 走不到if那里, 结果一上线,数据库莫明其妙的就挂了, 一查被没有提交的事务给折腾挂了
回复

使用道具 举报

千问 | 2006-3-9 12:34:30 | 显示全部楼层
學習~~~
回复

使用道具 举报

千问 | 2006-3-9 12:34:30 | 显示全部楼层
原帖由 hxd001_810 于 2008-1-7 15:59 发表
alter function fun_isempty
(@str varchar(50)
,@r_str varchar(50)
)returns varchar(50)
as
begin
declare @aa varchar(50)
if @str=''
set @aa=@r_str
else
set @aa= @str
return @aa
end
go

学习,真佩服!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行