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 ...
随机推荐
- paip.执行shell cmd 命令uapi java php python总结
paip.执行shell cmd 命令uapi java php python总结 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...
- bzoj 2295: 【POJ Challenge】我爱你啊
2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ...
- css解决谷歌,360浏览器默认最小字体为12px问题
当我们设置前台html页面样式问题字体小于12px;时,会发现不管怎么设置小于12px字体,在谷歌.360浏览器上都不生效. 但在火狐等浏览器上却可以正常设置,当你打开谷歌360的设置后会发现,它们设 ...
- [ZT]Language codes – MFC
Below is table with all MFC language codes. I think it can be sometimes very useful. First column c ...
- 使用PHP的CURL模拟POST采集开了viewstate的asp.net网页数据
用.NET做的网站如果做成POST提交方式,且开了viewstate的话,采集起来有点小繁琐,在此跟大家分享一下做法. 采的难点是必須先取得表單裏面的viewstate和datavalidtion兩個 ...
- 基于apt实现的Android快速持久化框架:AptPreferences
AptPreferences是基于面向对象设计的快速持久化框架,目的是为了简化SharePreferences的使用,减少代码的编写.可以非常快速地保存基本类型和对象.AptPreferences是基 ...
- 【Vegas原创】vlookup的使用方法
情景: 1,当月移动话单,没有姓名,只有手机号码:(用户费用sheet) 2,IT部自己整理的手机号历史记录,有姓名,有手机号码:(历史信息sheet) 3,要求:需要从历史记录中,透视出当月所有手机 ...
- MySQL模拟:线上误update的恢复
作为DBA,细心.沉稳是首要的基本素质.不过总有那么一会心烦意乱或者开发同学出现误操作之类的...这里模拟一个误update操作,然后恢复. 如果开发同学有误操作之后最好先别乱动生产环境,需要记录几个 ...
- Android Studio 快捷键 for mac
Action Mac OS Win/Linux 打开文件 Cmd + shift + O 打开Class文件 Cmd + O 覆写方法 Ctrl + O 生成方法(重写构造.setter ...
- 如何使Session永不过期
转载:http://blog.csdn.net/wygyhm/article/details/2819128 先说明情况:公司做监控系统,B/S结构,主要用在局域网内部!监控系统开机可能要开好长时间, ...