--單表遞歸 由於項目中經常用到 , 隨筆以作下次使用 例如:找ProductType表 下ID為1的分類的所有子級 with result as --result為別名( select * from TB_ProductType where Id=1 --查詢ID為1 的數據 union all ...
--單表遞歸 由於項目中經常用到 , 隨筆以作下次使用
例如:找ProductType表 下ID為1的分類的所有子級
with result as --result為別名
(
select * from TB_ProductType where Id=1 --查詢ID為1 的數據
union all
select TB_ProductType.* from tb_productType, result where result.ID = TB_ProductType.ParentID ---遞歸--找到ID為1的分類的所有下級
)
select * from result --註意 上面只是獲取了遞歸的對象 所以這裡必須要查詢一次
--遞歸刪除 / 更新
with result as
(
select * from TB_ProductType where Id=1
union all
select TB_ProductType.* from tb_productType, result where result.ID = TB_ProductType.ParentID
)
update TB_ProductType set name = '' where id in ( select id from result) --