香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > MSSQL >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

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


时间:2020-10-31 14:31 作者:admin610456


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

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.idWHERE  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查询表结构的实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)