SQL Server 查询所有外键子父表关系

SELECT table_name,fk_name,reference_table_name,fk_list_number,fk_detail
FROM (
SELECT object_name(f.object_id) AS fk_name,
object_name(f.parent_object_id) AS table_name,
object_name(f.referenced_object_id) AS reference_table_name,
k.constraint_column_id AS fk_list_number,
convert(sysname, col_name(k.referenced_object_id, k.referenced_column_id)) AS fk_detail
FROM sys.foreign_keys f
INNER JOIN sys.foreign_key_columns k
on f.object_id = k.constraint_object_id and f.referenced_object_id = k.referenced_object_id
) t

时间: 2024-10-26 09:09:10

SQL Server 查询所有外键子父表关系的相关文章

SQL Server中建立外键的方法

在SQL中建立外键约束,可以级联查询表中的数据,在C#代码生成器中,也能根据外键关系生成相应的外键表数据模型.外键也可防止删除有外键关系的记录,一定程度上保护了数据的安全性. 步骤: 1.要建立外键关系,首先要保证用来建立外键关系的列具有唯一性,即具有 UNIQUE 约束通常是某表的主键作为另外一个表的外键 2.打开数据库表,找到要建立外键的表.并确保其中要建立外键关系的列与主键表中的数据类型完全一致 3.在要建立外键关系的表中,在任意列上右击,选择[关系] 4.在外键关系对话框中,点击左下角的

Sql Server有主外键关系时添加、删除数据

当表之间有主外键关系时删除数据会被约束,添加.删除失败 解决办法,我们可以先把主外键关系的检查约束给关掉 → 然后删除数据 → 之后再把约束打开 查询出关掉所有外键约束的语句 SELECT 'ALTER TABLE ' + O.NAME + ' NOCHECK CONSTRAINT [' + F.NAME + '];' AS COMMAND FROM SYS.FOREIGN_KEYS F INNER JOIN SYS.ALL_OBJECTS O ON F.PARENT_OBJECT_ID = O

SQL Server查找一个外键被引用的所有表

直接上代码: 1 SELECT oSub.name AS [子表名称] , 2 fk.name AS [外键名称] , 3 SubCol.name AS [子表列名] , 4 oMain.name AS [主表名称] , 5 MainCol.name AS [主表列名] 6 FROM sys.foreign_keys fk 7 JOIN sys.all_objects oSub ON ( fk.parent_object_id = oSub.object_id ) 8 JOIN sys.all_

mysql数据库,外键约束和表关系

E-R 图 (实体关系模型) E-R图也称实体-联系图(Entity Relationship Diagram), 提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. 它是描述现实世界关系概念模型的有效方法. 是表示概念关系模型的一种方式. 用"矩形框"表示实体型,矩形框内写明实体名称: 用"椭圆图框"表示实体的属性,并用"实心线段"将其与相应关系的"实体型"连接起来: 用"菱形框"表示实体

主外键 子查询

主键.外键和子查询 1 主键和外键的区别 1.1定义主键--唯一标识一条记录,不能有重复的,不允许为空 外键--表的外键是另一表的主键, 外键可以有重复的, 可以是空 1.2作用 主键--用来保证数据完整性 外键--用来和其他表建立联系用的 1.3个数: 主键--主键只能有一个 外键--一个表可以有多个外键 2 主键语句code int PRIMARY KEY IDENTITY(1,1), --PRIMARY KEY 标识主键--IDENTITY(1,1) 从一开始,每增加一行加一:插入数据不用

sql server解决无法删除修改拥有外键约束的表或表的记录字段

sql server解决无法删除修改拥有外键约束的表或表的记录字段 问题如下: or 解决步骤: 1.找出该表的所有外键约束 select * from sys.foreign_keys where referenced_object_id=object_id('订单') order by 1 2.删除所有外键约束(注意外键的名字和表的名字分别是哪个!) alter table 订货项目 drop constraint FK__订货项目__订单编号__412EB0B6; 到这就可以把表删掉了~

数据库 SQL 外键约束 多表查询

多表设计与多表查询 1.外键约束        表是用来保存现实生活中的数据的,而现实生活中数据和数据之间往往具有一定的关系,我们在使用表来存储数据时,可以明确的声明表和表之前的依赖关系,命令数据库来帮我们维护这种关系,像这种约束就叫做外键约束.          定义外键约束  foreign key(本表的列名 ordersid) references orders(id)(引用的表明及列名)     create table dept(         id int primary key

MS SQL巡检系列——检查外键字段是否缺少索引

前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方面,网上关于MS SQL巡检方面的资料好像也不是特别多.写这个系列只是一个分享,自己的初衷是一个知识梳理.总结提炼过程,有些知识和脚本也不是原创,文章很多地方融入了自己的一些想法和见解的,不足和肤浅之处肯定也非常多,抛砖引玉,也希望大家提意见和建议.补充,指正其中的不足之处.Stay Hungry

SQLServer:查询所有外键关联表信息

--从左到右分别是: 外键约束名,子表名,外键列名,父表名 --use demodtcms--外键信息select fk.name fkname , ftable.name ftablename, cn.name fkcol, rtable.name ftablename,ObjectProperty(fk.id,'CnstIsUpdateCascade') updatCase,ObjectProperty(fk.id,'CnstIsDeleteCascade') deletCase from