数据库中有一张skyUserDepartment表,有UserID,DepID2个字段,现在要往表里加一笔资料,添加语句如下:Insert into skyUserDepartment(UserID,DepID)
select 'IHH101348',DepID
from dbo.DepIDtosubDepID('HH000000AAAA0000')--我就是这里不明白,数据库中没有dbo.DepIDtosubDepID表,这里什么意思呢??where DepID not in (select DepID from skyUserDepartment where UserID='IHH101348')
因为数据库不是我建的,添加语句也是别人给的,所以麻烦懂得高手帮忙解释下,谢谢了!!!

解决方案 »

  1.   

    dbo.DepIDtosubDepID 是个函数
    你在用户自定义函数里面找找
      

  2.   

    打开这个函数:DepIDtosubDepID
    看看
      

  3.   

    函数找到了,
    create  function DepIDtoSubDepID(@DepID VARCHAR(20))        
    returns @Temp table(DepID varchar(20)   collate SQL_Latin1_General_CP1_CI_AS null,      
         DepGrade varchar(4) collate SQL_Latin1_General_CP1_CI_AS null)      
    as      
    begin      
      
      declare @DepGrade varchar(4),@Grade int      
            
         select  @DepGrade = DepGrade ,        
                 @Grade    = CASE @DepGrade    
            when 'A1' then 1      
            when 'A2' then 2        
            when 'A3' then 3    
                                    when '01' then 4     
            when '02' then 5        
                                    when '03' then 6     
            else  0   end      
            from Department where DepID = @DepID      
          
     insert  into @Temp        
     select  @DepID,@DepGrade       
     where  @DepID in (select DepID from Department) 
            
       while(@Grade <6)        
        begin      
            insert  into @Temp        
            select  DepID,DepGrade        
            from    Department      
        where   adminid in  (select  DepID from @Temp)        
                    and DepID not in (select  DepID from @Temp)       
        and Isnull(Disabled,0)=0    
            set @Grade = @Grade + 1      
        end      
      return      
    end      
    但我把这个函数复制到我的数据库中,运行后报错说:訊息 468,層級 16,狀態 9,程序 DepIDtoSubDepID,行 34
    無法解析 is 作業中 "SQL_Latin1_General_CP1_CI_AS" 與 "Latin1_General_CI_AI" 之間的定序衝突。
    我改怎么修改啊
      

  4.   

    dbo.DepIDtosubDepID 是个函数
    返回的结果是个表
      

  5.   


    returns @Temp table(DepID varchar(20)   collate SQL_Latin1_General_CP1_CI_AS null,      
         DepGrade varchar(4) collate SQL_Latin1_General_CP1_CI_AS null) 
         
    ......