zoukankan      html  css  js  c++  java
  • sql循环查询删除

    我有一张表 表字段 HomeClassID(主键ID),HomeClassName(类别名称),ParentId(父类ID,为0时,表示为一级),Sort(排序字段)
    现在 HomeClassID HomeClassName ParentId Sort
      1 新闻         0 1
      2 国际新闻     1 1
      3 国内新闻     1 2
      4 娱乐新闻     1 3
      5 港台娱乐新闻 4 1
      6 内地娱乐新闻 4 2

    其中 港台娱乐新闻和内地娱乐新闻是 娱乐新闻 的子类 而娱乐新闻又是新闻的子类 我现在要根据新闻(ID是1) 查询出他下面全部的子类,(有可能内地娱乐新闻下面还有子类),然后将下面的全部子类删除,最后将新闻删除 应该怎么写呢?

    CREATE PROCEDURE xinwen
    (@ID int)
    AS
    CREATE TABLE #t_Level(ID int,Level int)
    DECLARE @Level int
    BEGIN
    SET @Level=1
    INSERT t_Level SELECT @ID,@Level
    WHILE @@ROWCOUNT>0
    BEGIN
      SET @Level=@Level+1
      INSERT t_Level SELECT a.ID,@Level
      FROM 新闻表 a,t_Level b
      WHERE a.prents=b.ID
       AND b.Level=@Level-1
    END
    delete from 新闻表 where id in (select id from #t_Level)
    END
    GO

  • 相关阅读:
    简要集群复制shell脚本
    git命令
    gitlab部署
    QPS、TPS、并发用户数、吞吐量关系
    Windows admin center
    ftp命令行工具
    ftp ftps sftp
    部署 Nethogs
    smtp imap
    如何在【博客园】通过搜索 博主 昵称 来找到博主?
  • 原文地址:https://www.cnblogs.com/Iyce/p/2738734.html
Copyright © 2011-2022 走看看