日期:2014-05-18  浏览次数:20591 次

自定义函数 不兼容的对象类型
SQL code
alter function division
(@strFieldValue varchar(1000),@spChar  varchar(10))
returns @tb table
(id int,member varchar(40)) 
as
begin
declare @strTask_id int 
declare @intTimes int
select  @strTask_id  = (select  task_id from Tid where members = @strFieldValue)
select @intTimes = charindex(',',@strFieldValue) 

while(@intTimes>=0)
 begin
  if(@intTimes >0)
     begin
      select  @strFieldValue = substring(@strFieldValue,charindex(',',@strFieldValue)+1, len(@strFieldValue))
      insert  @tb
      select @strTask_id,@strFieldValue
      select @intTimes = charindex(',',@strFieldValue)
     end
  else 
     begin
      insert @tb
      select @strTask_id,@strFieldValue
      select @intTimes = -1
     end 
 end
return 
end


,我不知道則麼定義是否正確

------解决方案--------------------
有什么问题呢。
------解决方案--------------------
表函数,什么问题?
------解决方案--------------------
表函数,什么问题?
------解决方案--------------------
函数虽然没问题,但返回的结果是表变量,从用法上来说没法用(无论是print还是select)。
所以建议还是用存储过程。
------解决方案--------------------
木看出问题来