传入xml,在树表中递归,再归组加入其他表

declare @uid int
set @uid=1

declare @doc xml
set @doc=N'
<ids>
<sid id="001001" />
<sid id="001001009" />
</ids>'

--找出指定类的所以子类,加入表中
declare @p int
exec sp_xml_preparedocument @p OUTPUT,@doc  
 
delete from t_dor_operatorStruct where uid=@uid
;with tmp (unitId)
as
(
	select unitId from t_scs_schoolStructure 
	where fartherId in(SELECT id FROM OPENXML (@p, '/ids/sid',1) WITH (id varchar(50)))
	union all
	select t_scs_schoolStructure.unitId from t_scs_schoolStructure 
	inner join tmp on tmp.unitId=t_scs_schoolStructure.fartherId
)

insert into t_dor_operatorStruct(uid,sid) select @uid,unitId from tmp group by unitid

exec sp_xml_removedocument @p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值