create procedure DeleteTreeItemById
@classId int,
@classModuleItemId int
as
begin
declare @num int
declare @SqlQueryNum int
declare @classChild int
declare @classPrevId int
declare @classNextId int
declare @classDepth int
declare @classParentId int
select @num=count(*),@classChild=g.classChild,@classPrevId=g.classPrevId,
@classNextId=g.classNextId,@classDepth=g.classDepth,
@classParentId=g.classParentId from gxdxs_class g
where classId=@classId and classModuleItemId=@classModuleItemId
group by g.classChild,classPrevId,g.classNextId,g.classDepth,g.classParentId set @SqlQueryNum=@SqlQueryNum+1
if @num=0
begin
print '类不存在,或者已经被删除'
end
else
if @classChild>0
begin
print '本类含有子类,请先删除子类'
end
if @classDepth>0
begin
update gxdxs_class set @classChild=@classChild-1 where classId=@classParentId
end
if @classPrevId>0
begin
update gxdxs_class set classNextId=@classNextId where classId=@classPrevId
end
if @classNextId>0
begin
update gxdxs_class set classPrevId=@classPrevId where classId=@classNextId
end
end
@classId int,
@classModuleItemId int
as
begin
declare @num int
declare @SqlQueryNum int
declare @classChild int
declare @classPrevId int
declare @classNextId int
declare @classDepth int
declare @classParentId int
select @num=count(*),@classChild=g.classChild,@classPrevId=g.classPrevId,
@classNextId=g.classNextId,@classDepth=g.classDepth,
@classParentId=g.classParentId from gxdxs_class g
where classId=@classId and classModuleItemId=@classModuleItemId
group by g.classChild,classPrevId,g.classNextId,g.classDepth,g.classParentId set @SqlQueryNum=@SqlQueryNum+1
if @num=0
begin
print '类不存在,或者已经被删除'
end
else
if @classChild>0
begin
print '本类含有子类,请先删除子类'
end
if @classDepth>0
begin
update gxdxs_class set @classChild=@classChild-1 where classId=@classParentId
end
if @classPrevId>0
begin
update gxdxs_class set classNextId=@classNextId where classId=@classPrevId
end
if @classNextId>0
begin
update gxdxs_class set classPrevId=@classPrevId where classId=@classNextId
end
end
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货