sql: 查找约束
主键约束
SELECT
tab.
name
AS
[表名],
idx.
name
AS
[主键名称],
col.
name
AS
[主键列名]
FROM
sys.indexes idx
JOIN
sys.index_columns idxCol
ON
(idx.object_id = idxCol.object_id
AND
idx.index_id = idxCol.index_id
AND
idx.is_primary_key = 1)
JOIN
sys.tables tab
ON
(idx.object_id = tab.object_id)
JOIN
sys.columns col
ON
(idx.object_id = col.object_id
AND
idxCol.column_id = col.column_id);
唯一约束
SELECT
tab.
name
AS
[表名],
idx.
name
AS
[约束名称],
col.
name
AS
[约束列名]
FROM
sys.indexes idx
JOIN
sys.index_columns idxCol
ON
(idx.object_id = idxCol.object_id
AND
idx.index_id = idxCol.index_id
AND
idx.is_unique_constraint = 1)
JOIN
sys.tables tab
ON
(idx.object_id = tab.object_id)
JOIN
sys.columns col
ON
(idx.object_id = col.object_id
AND
idxCol.column_id = col.column_id);
外键约束
select
oSub.
name
AS
[子表名称],
fk.
name
AS
[外键名称],
SubCol.
name
AS
[子表列名],
oMain.
name
AS
[主表名称],
MainCol.
name
AS
[主表列名]
from
sys.foreign_keys fk
JOIN
sys.all_objects oSub
ON
(fk.parent_object_id = oSub.object_id)
JOIN
sys.all_objects oMain
ON
(fk.referenced_object_id = oMain.object_id)
JOIN
sys.foreign_key_columns fkCols
ON
(fk.object_id = fkCols.constraint_object_id)
JOIN
sys.columns SubCol
ON
(oSub.object_id = SubCol.object_id
AND
fkCols.parent_column_id = SubCol.column_id)
JOIN
sys.columns MainCol
ON
(oMain.object_id = MainCol.object_id
AND
fkCols.referenced_column_id = MainCol.column_id)
Check
约束
SELECT
tab.
name
AS
[表名],
chk.
name
AS
[
Check
约束名],
col.
name
AS
[列名],
chk.definition
FROM
sys.check_constraints chk
JOIN
sys.tables tab
ON
(chk.parent_object_id = tab.object_id)
JOIN
sys.columns col
ON
(chk.parent_object_id = col.object_id
AND
chk.parent_column_id = col.column_id)
sql: 查找约束的更多相关文章
- 扩展Exception,增加判断Exception是否为SQL引用约束异常方法!
在设计数据表时,如果将某些列设置为关联其它表的外键,那么如果对其进行增加.修改操作时,其关联表若没有相匹配的记录则报错,或者在对其关联表进行删除时,也会报错,这就是外键约束的作用,当然除了外键还有许多 ...
- SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束
SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...
- SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束
CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...
- 数据库入门之运行原始 SQL 查找
数据库入门之运行原始 SQL 查找 一旦你设置好了数据库连接,就可以使用 DB facade 来进行查找.DB facade 提供每个类型的查找方法:select.update.insert.dele ...
- 基础篇 - SQL 的约束
基础篇 - SQL 的约束 约束 一.实验简介 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.本节实验将在实践操作中熟悉 MySQL 中的几种约束. 二 ...
- SQL CHECK 约束
SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限 ...
- SQL UNIQUE 约束
SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 ...
- SQL数据库约束、默认和规则
数据的完整性 实体完整性 又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值 MSSQL中通过唯一索引.PRIMARY KEY约束.UNIQUE约束.INDENTITY属性等来强制主键 ...
- SQL Server - 约束 CONSTRAINT
总结 约束放置在表中,以下五种约束: NOT NULL 非空约束C 指定的列不允许为空值 UNIQUE 唯一约束U 指定的列中没有重复值,或该表中每一个值或者每一组值都将是唯一的 PRIMARY KE ...
随机推荐
- [推荐]T- SQL性能优化详解
[推荐]T- SQL性能优化详解 博客园上一篇好文,T-sql性能优化的 http://www.cnblogs.com/Shaina/archive/2012/04/22/2464576.html
- Accessorizer的使用说明!
工欲善其事,必先利其器 还是这句老话!但是老话藏真金! 今天我们来说说Accessorizer这个软件吧!!Accessorizer这个软件真的很不错!!但是我没有见到程序员使用它!! Accesso ...
- 利用Mongodb的复制集搭建高可用分片,Replica Sets + Sharding的搭建过程
参考资料 reference: http://mongodb.blog.51cto.com/1071559/740131 http://docs.mongodb.org/manual/tutori ...
- 新版PHP 7效能實測:Drupal 7能快70%,碎形計算大勝Ruby和Python
PHP 7才剛在12月3日正式釋出,網頁開發框架Zend公司立刻發表了一份PHP新舊版效能大車拼報告,除了PHP 7和PHP 5.6之外,也把HHVM 3.7版納入一起比較. Zend公司選擇了幾套知 ...
- MS SQL SERVER索引优化相关查询
查找缺失索引 -- ============================================= -- Description: 查询当前数据库中缺失的索引,知道你进行优化的 ...
- 文档大师 搜狗拼音无法输入汉字_乱码的解决方法_VB6程序
文档大师用 搜狗拼音无法输入汉字,显示的内容和输入的内容不一致.解决方法: 把中文输入里面的那个“美式键盘”再删掉就好用了,只保留搜狗输入法即可!
- MySQL执行计划中key_len详解
(1).索引字段的附加信息:可以分为变长和定长数据类型讨论,当索引字段为定长数据类型,比如char,int,datetime,需要有是否为空的标记,这个标记需要占用1个字节:对于变长数据类型,比如:v ...
- ubuntu下matplotlib画图中文乱码问题
最近因为论文原因在学习机器学习,看的一本叫做<机器学习实战>的书,看了看还是不错的,因为其中既有原理又有实例.今天载使用matplotlib进行画图时,发现中文会显示为小方块,这个问题真是 ...
- Scala 深入浅出实战经典 第53讲:Scala中结构类型实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- 表单验证Jquery扩展方法类
/** 表单数据验证 **/ $.fn.Validform = function () { var Validatemsg = ""; var Validateflag = tru ...