MSSQL函数问题,

createfunctionnamefind(@unamevarchar(20))returnsvarchar(20)asbegindeclare@find1varcha... create function namefind(@uname varchar(20))
returns varchar(20)
as
begin
declare @find1 varchar(20),@find2 varchar(20)
select @find1='找到此人',@find2='查无此人'
select * from tb_student where uname=@uname
if @@rowcount<>0
return @find1
else
return @find2

end

请各位帮我看看哪里有误?

消息 444,级别 16,状态 2,过程 xmfind,第 7 行
函数中含有的 SELECT 语句无法向客户端返回数据。
消息 455,级别 16,状态 2,过程 xmfind,第 11 行
函数中最后一条语句必须是返回语句。
展开
 我来答
hoverni
2016-05-30 · TA获得超过1622个赞
知道小有建树答主
回答量:893
采纳率:100%
帮助的人:741万
展开全部
MSSQL的标量函数不能像C#的函数那样可以任意地方用return返回值,他的返回语句必须在最后一行进行!这样写
declare @ReturnStr varchar(200) /*返回值*/
if @@rowcount<>0
set @ReturnStr = '找到此人'

else
set @ReturnStr = '查无此人'

return @ReturnStr
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式