日期:2014-05-19  浏览次数:20499 次

一个SQL自定义函数在表中引用的问题
ALTER   FUNCTION   dbo.getIsFocus
(@username   varchar(100))
RETURNS   nvarchar(100)   AS
begin
declare   @IsOnFocus   as   nvarchar(100)
declare   @addtime   as   smalldatetime
declare   @validtime   as   smalldatetime
declare   @day   as   smalldatetime
select   @addtime   =   FocusTime   from   DetailUserInfo   where   UserName=@username
select   @validtime   =   ValidFocus   from   DetailUserInfo   where   UserName=@username
set   @day   =   datediff(day,@addtime,@validtime)
if(@day   <11)

  begin
        set   @IsOnFocus   =   '是 '
  end
 
else
    begin
          set   @IsOnFocus   =   '否 '
    end    
     
return   @IsOnFocus
end

上面是我自己写的一个函数
我想在表中某一个字段的默认值用这个函数来获得为什么这个函数不起作用呢?
还有这个函数在视图中就能正常的工作,在线求答案~~急哦

------解决方案--------------------
在企业管理器里打开你的表----> 设计---> 对你要改的字段,在“公式”里写上 "([dbo].[getIsFocus]([Username])) ",就可以了