declare @foladID nvarchar(500)
set @foladID='DCAE7E1B-266F-40B0-AA4B-97EBD334A25D';
with tab as(
select * from Folders where id=@foladID
union all
select k.* from Folders k
inner join tab c on k.id = c.Parentid
)
select * into #tab from tab
--不包括自己
update Folders set Folders.FolderCount=Folders.FolderCount+1 from #tab where Folders.Id=#tab.Id and Folders.Id!=@foladID
drop table #tab
Trashed 可以换成临时表,由于我的数据是分成了2个表所有代码有点繁琐