帮忙解释下这个sql语句的意思,急急急!!!

g505149841 2010-07-27 09:00:05
数据库中有一张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')


因为数据库不是我建的,添加语句也是别人给的,所以麻烦懂得高手帮忙解释下,谢谢了!!!
...全文
135 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linjunf 2010-07-27
  • 打赏
  • 举报
回复
学习 10 分
g505149841 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chinajiabing 的回复:]
排序问题

换了个中文版的系统就Ok了
[/Quote]
你指的是换操作系统吗,不换在程序里改下不行吗。。。我的操作系统时繁体的,现在要换是不可能的了。。。
ChinaJiaBing 2010-07-27
  • 打赏
  • 举报
回复
排序问题

换了个中文版的系统就Ok了
g505149841 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cheng20100915 的回复:]
SQL code

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)


......
[/Quote]
这句错了吗,可怎么改呢。。。
cheng20100915 2010-07-27
  • 打赏
  • 举报
回复

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)

......
sych888 2010-07-27
  • 打赏
  • 举报
回复
dbo.DepIDtosubDepID 是个函数
返回的结果是个表
tianming89 2010-07-27
  • 打赏
  • 举报
回复
支持帖子顶起。支持楼主
g505149841 2010-07-27
  • 打赏
  • 举报
回复
函数找到了,
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" 之間的定序衝突。
我改怎么修改啊。。。
永生天地 2010-07-27
  • 打赏
  • 举报
回复
打开这个函数:DepIDtosubDepID
看看
黄_瓜 2010-07-27
  • 打赏
  • 举报
回复
dbo.DepIDtosubDepID 是个函数
你在用户自定义函数里面找找
百年树人 2010-07-27
  • 打赏
  • 举报
回复
这是表值函数

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧