sql server递归子节点、父节点sql查询表结构的实例

发布时间 - 2026-01-10 23:15:33    点击率:

一、查询当前部门下的所有子部门

WITH  dept
    AS ( SELECT  *
        FROM   dbo.deptTab --部门表
        WHERE  pid = @id
        UNION ALL
        SELECT  d.*
        FROM   dbo.deptTab d
            INNER JOIN dept ON d.pid = dept.id
       )
  SELECT *
  FROM  dept

二、查询当前部门所有上级部门

WITH  tab
     AS ( SELECT  DepId ,
            ParentId ,
            DepName ,
            [Enable] ,
            0 AS [Level]
        FROM   deptTab WITH ( NOLOCK ) --表名
        WHERE  [Enable] = 1
            AND depId = @depId
        UNION ALL
        SELECT  b.DepId ,
            b.ParentId ,
            b.DepName ,
            b.[Enable] ,
            a.[Level] + 1
        FROM   tab a ,
            deptTab b WITH ( NOLOCK )
        WHERE  a.ParentId = b.depId
            AND b.[enable] = 1
       )
  SELECT *
  FROM  tab WITH ( NOLOCK )
  WHERE  [enable] = 1
  ORDER BY [level] DESC

三、查询当前表的说明描述

SELECT tbs.name 表名 ,
    ds.value 描述
FROM  sys.extended_properties ds
    LEFT JOIN sysobjects tbs ON ds.major_id = tbs.id
WHERE  ds.minor_id = 0
    AND tbs.name = 'userTab';--表名

四、查询当前表的表结构(字段名、属性、默认值、说明等)

SELECT CASE WHEN col.colorder = 1 THEN obj.name
       ELSE ''
    END AS 表名 ,
    col.colorder AS 序号 ,
    col.name AS 列名 ,
    ISNULL(ep.[value], '') AS 列说明 ,
    t.name AS 数据类型 ,
    col.length AS 长度 ,
    ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,
    CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN '√'
       ELSE ''
    END AS 标识 ,
    CASE WHEN EXISTS ( SELECT  1
              FROM   dbo.sysindexes si
                  INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
                               AND si.indid = sik.indid
                  INNER JOIN dbo.syscolumns sc ON sc.id = sik.id
                               AND sc.colid = sik.colid
                  INNER JOIN dbo.sysobjects so ON so.name = si.name
                               AND so.xtype = 'PK'
              WHERE  sc.id = col.id
                  AND sc.colid = col.colid ) THEN '√'
       ELSE ''
    END AS 主键 ,
    CASE WHEN col.isnullable = 1 THEN '√'
       ELSE ''
    END AS 允许空 ,
    ISNULL(comm.text, '') AS 默认值
FROM  dbo.syscolumns col
    LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype
    INNER JOIN dbo.sysobjects obj ON col.id = obj.id
                     AND obj.xtype = 'U'
                     AND obj.status >= 0
    LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id
    LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id
                         AND col.colid = ep.minor_id
                         AND ep.name = 'MS_Description'
    LEFT JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id
                          AND epTwo.minor_id = 0
                          AND epTwo.name = 'MS_Description'
WHERE  obj.name = 'userTab'--表名(点此修改) 
ORDER BY col.colorder;

以上所述是小编给大家介绍的sql server递归子节点、父节点sql查询表结构的实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# sql  # 递归查询节点  # 递归查询父节点  # SQL Server 树形表非循环递归查询的实例详解  # 使用SqlServer CTE递归查询处理树、图和层次结构  # 使用SQLSERVER 2005/2008 递归CTE查询树型结构的方法  # SQLSERVER2005 中树形数据的递归查询  # SQLserver2008使用表达式递归查询  # 高效的SQLSERVER分页查询(推荐)  # SQL Server SQL高级查询语句小结  # Sql server2005 优化查询速度50个方法小结  # SQLserver 实现分组统计查询(按月、小时分组)  # sqlserver 模糊查询常用方法  # sql server实现递归查询的方法示例  # 递归  # 小编  # 默认值  # 在此  # 点此  # 给大家  # 所述  # 给我留言  # 感谢大家  # 主键  # 疑问请  # 有任何  # 字段名  # NOLOCK  # depId  # enable  # DepName  # ParentId  # Level 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  海南网站制作公司有哪些,海口网是哪家的?  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel如何记录自定义日志?(Log频道配置)  Laravel如何创建自定义Facades?(详细步骤)  如何在香港免费服务器上快速搭建网站?  如何在云指建站中生成FTP站点?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  WordPress 子目录安装中正确处理脚本路径的完整指南  佛山网站制作系统,佛山企业变更地址网上办理步骤?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  专业商城网站制作公司有哪些,pi商城官网是哪个?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  长沙做网站要多少钱,长沙国安网络怎么样?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  网易LOFTER官网链接 老福特网页版登录地址  在Oracle关闭情况下如何修改spfile的参数  JavaScript如何实现倒计时_时间函数如何精确控制  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何快速使用云服务器搭建个人网站?  JavaScript Ajax实现异步通信  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何快速上传建站程序避免常见错误?  HTML 中动态设置元素 name 属性的正确语法详解  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  iOS UIView常见属性方法小结  Laravel如何实现API资源集合?(Resource Collection教程)  网站优化排名时,需要考虑哪些问题呢?  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  怎么用AI帮你设计一套个性化的手机App图标?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Android GridView 滑动条设置一直显示状态(推荐)  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  利用python获取某年中每个月的第一天和最后一天