sqlserver2008自定义函数字符串拼接出现问题

本文介绍了一个SQL自定义函数返回空值的问题及其解决方法。该函数用于获取员工的职称信息,通过遍历游标并将结果拼接成字符串返回。问题在于未初始化返回变量导致始终返回null。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--自定义函数--

 

 

alter FUNCTION  GET_EMPLOYEEZZINFO(

   @eid varchar(50)

)

 returns varchar(500)

 as

 begin

      declare @emplyee_zz  nvarchar (500),@n nvarchar(100)

      declare mycursor Cursor  for  (select zname from dbo.Employee_zz  WHERE eid=@eid)

      open mycursor

      fetch next from mycursor into @n;   -- ( www.yangsheng52.com)--

      while @@FETCH_STATUS=0

      begin

           set @emplyee_zz=(@emplyee_zz+','+@n)

           fetch next from mycursor into @n; 

      end

      close mycursor

      deallocate mycursor

      return @emplyee_zz

 end

 go

上面函数总是返回null,我找了半天才发现,雨来是没有给@emplyee_zz变量初始化导致的。在定义完变量后加set  @emplyee_zz=‘ ’  就可以了。我这个问题找了半天,希望能帮助遇到问题的朋友们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值