数据库中有一张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')
因为数据库不是我建的,添加语句也是别人给的,所以麻烦懂得高手帮忙解释下,谢谢了!!!
select 'IHH101348',DepID
from dbo.DepIDtosubDepID('HH000000AAAA0000')--我就是这里不明白,数据库中没有dbo.DepIDtosubDepID表,这里什么意思呢??where DepID not in (select DepID from skyUserDepartment where UserID='IHH101348')
因为数据库不是我建的,添加语句也是别人给的,所以麻烦懂得高手帮忙解释下,谢谢了!!!
你在用户自定义函数里面找找
看看
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" 之間的定序衝突。
我改怎么修改啊
返回的结果是个表
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)
......