with 递归查询使用简记


CREATE PROCEDURE [dbo].[DeleteN_NewsTopicInfoEntity] ( @TopicID BIGINT )
AS 
    BEGIN 
    
    ---1.删除子类信息
 
        WITH    cte
                  AS ( SELECT   TopicID ,
                                ParentID
                       FROM     N_NewsTopicInfo n
                       WHERE    n.ParentID = 14
                       UNION ALL
                       SELECT   e.TopicID ,
                                e.ParentID
                       FROM     N_NewsTopicInfo e
                                JOIN cte f ON f.TopicID = e.ParentID
                     )
            SELECT  MappingID ,
                    np.TopicID
            INTO    #topicStr
            FROM    cte
                    INNER JOIN dbo.N_TopicPositionMapping np ON cte.TopicID = np.topicid 
            
        IF EXISTS ( SELECT  *
                    FROM    #topicStr ) 
            BEGIN


                DELETE  N_TopicPositionMapping
                WHERE   MappingID IN ( SELECT   MappingID
                                       FROM     #topicStr )
                DELETE  N_NewsTopicInfo
                WHERE   TopicID IN ( SELECT TopicID
                                     FROM   #topicStr )
            END
            
    
    
    ---2.删除当前信息
    
    
    
        IF EXISTS ( SELECT  TopicID
                    FROM    dbo.N_TopicPositionMapping
                    WHERE   TopicID = @TopicID ) 
            BEGIN
                DELETE  N_TopicPositionMapping
                WHERE   TopicID = @TopicID
            END
        DELETE  FROM N_NewsTopicInfo
        WHERE   TopicID = @TopicID 
    END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值