• 查询库中的CHECK约束信息的两个视图(SQLSERVER)


    以下两个视图均基于系统表sysobjects、syscomments和系统视图sysconstraints,查询结果中包括表ID、表名、列ID、列名、CHECK约束ID、CHECK约束名、CHECK约束status值以及CHECK约束的内容,TCCView为Table-Column-Check View,结果中均为列级CHECK约束,TCView为Table-Check View,结果中均为表级CHECK约束。

    关于字段status的值的作用,参见不用企业管理器的情况下得知CHECK约束的属性设置一文。

    下面是两个视图的代码,可用于SQL SERVER 2000数据库中的任意数据库中。

    TCCView:

    SELECT TOP 100 PERCENT a.id AS tableid, a.tablename, a.colid, a.columnname,

    a.datatype, a.length, b.constid AS checkid, b.checkname, b.status, b.content

    FROM (SELECT sysobjects.name AS tablename, sysobjects.id,

    syscolumns.name AS columnname, syscolumns.colid,

    systypes.name AS datatype, syscolumns.length AS length

    FROM sysobjects, syscolumns, systypes

    WHERE sysobjects.xtype = 'u' AND sysobjects.id = syscolumns.id AND

    syscolumns.xtype = systypes.xtype AND

    systypes.xtype = systypes.xusertype AND sysobjects.status > 0)

    a LEFT OUTER JOIN

    (SELECT sysobjects.name checkname, sysobjects.status, sysconstraints.constid,

    sysconstraints.id, sysconstraints.colid, syscomments.text AS content

    FROM sysobjects, sysconstraints, syscomments

    WHERE xtype = 'c' AND sysobjects.id = sysconstraints.constid AND

    sysconstraints.constid = syscomments.id) b ON a.id = b.id AND

    a.colid = b.colid

    ORDER BY a.tablename, a.columnname, b.checkname

    TCView:

    SELECT a.id AS tableid, a.tablename, b.constid AS checkid, b.checkname, b.status,

    b.content

    FROM (SELECT sysobjects.id, sysobjects.name AS tablename

    FROM sysobjects

    WHERE sysobjects.xtype = 'u' AND sysobjects.status > 0) a LEFT OUTER JOIN

    (SELECT sysobjects.name checkname, sysobjects.status, sysconstraints.constid,

    sysconstraints.id, sysconstraints.colid, syscomments.text AS content

    FROM sysobjects, sysconstraints, syscomments

    WHERE xtype = 'c' AND sysobjects.id = sysconstraints.constid AND

    sysconstraints.constid = syscomments.id AND sysconstraints.colid = 0) b ON

    a.id = b.id

  • 相关阅读:
    一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
    步步为营UML建模系列七、表图(Data model diagram)
    步步为营UML建模系列六、类图(Class diagram)
    WebEx
    使用Nancy和Simple.Data两个轻量级的框架打造一个分布式开发系统
    细说 ASP.NET控制HTTP缓存
    WCSF vs ASP.NET MVC
    使用KTM(内核事务管理器)进行文件事务处理
    .net 2.0下的OOXML神器:NPOI.OpenXml4Net
    为什么System.Attribute的GetHashCode方法需要如此设计?
  • 原文地址:https://www.cnblogs.com/JoshuaDreaming/p/1888260.html
Copyright © 2020-2023  润新知