首页 > 数据库 >SQL查看CHECK约束信息

SQL查看CHECK约束信息

时间:2023-04-19 11:00:41浏览次数:33  
标签:constid xtype 查看 CHECK syscomments SQL sysconstraints id sysobjects


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

       1.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
   

     2.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

标签:constid,xtype,查看,CHECK,syscomments,SQL,sysconstraints,id,sysobjects
From: https://blog.51cto.com/u_3649463/6205982

相关文章

  • 引起SQL数据库超时的问题分析及解决办法
    1.由于数据库设计问题造成SQL数据库新增数据时超时 症状: MicrosoftOLEDBProviderforSQLServer错误'80040e31'([ODBCSQLServerDriver]超时已过期); 服务器上看CPU、内存占用率很低; 事件日志中提示:数据库'*********'中文件'***********'的自动增长在453......
  • MySQL 时间类型 date、datetime 和 timestamp 的用法与区别
    时间范围datetime和timestamp区别时间范围不一样,TIMESTAMP要小很多,且最大范围为2038-01-1903:14:07.999999,到期也不远了。datetime与时区无关、timestamp与时区有关。对于timestamp,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转......
  • mysql增删改查
    1、增insertintotable_name()value();insertintotable_name()values(),(),();insertintotable_namevalue();增加数据,通过关键字insert进行如果是在一行中插入部分字段数据,必须在value之前声明插入字段,而value后的值按声明字段顺序排列。如果插入全部字段,可......
  • mysql高级查询
    1、union联合查询,使用关键字union,其前后为查询字段数相等的select语句。查询结果是先输出前表的行,再输出后表的行。union后可以使用关键字all或者distinct,分别表示不去重和去重。去重指的是将重复的行只保留最开始的一行,判断依据是前后按序对应的查询字段,只区分字面量,而不关心数......
  • mysql事务
    1、介绍MySQL事务主要用于处理操作量大,复杂度高的数据。在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。事务用来管理insert,update,delete语句2、事务条件ACID......
  • mysql之alter命令
    #删除表字段,需要表中字段数大于1ALTERTABLEtestalter_tblDROPi;#添加字段,添加到末尾ALTERTABLEtestalter_tblADDiINT;#添加字段到首位ALTERTABLEtestalter_tblADDiINTFIRST;#添加字段到某字段之后ALTERTABLEtestalter_tblADDiINTAFTERc;#定义......
  • mysql管理
    MySQL管理|菜鸟教程(runoob.com),在下方笔记有大量有用内容。1、启动管理1.1windows1.2linux(这里安装的是mariadb)systemctlstartmariadb#启动systemctlrestartmariadb#重启systemctlstopmariadb#停止systemctlstatusmariadb#查看运行状态systemctlenabl......
  • mysql索引与主键、外键
    1、介绍优点:索引可以大大提高mysql的检索速度。缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。建立索引会占用磁盘空间的索引文件。2、分类2.1普通索引#基础创建CREA......
  • mysql函数
    1、介绍mysql函数分为四大类:字符串函数、数值函数、日期函数和高级函数。MySQL函数|菜鸟教程(runoob.com)2、常用一般函数时间:now()#返回当前日期和时间2018-09-1920:57:43curtime()#返回当前时间19:59:02current_timestamp()#返回当前日期和时间2018-09-1920:......
  • mysql函数(补充)
    环境:10.4.26-MariaDB1、sleepsleep(n)执行一遍函数,延时n秒如果在where条件中多次需要执行sleep,则多次延时sleep函数返回为false,不论是n是否为0假设设置sleep(100),数据库如实进行了延时n可以设定为小数,最小是0.001,但是这并不是绝对准确2、updatexmlupdatexml(v1,v2,v3......