SQLServer 查询所有外键关联表信息
有时候需要清除一些数据,但是总会有一些外键关联多加阻拦,下面是一些外键关联查询,方便更快捷有效的查询到需要处理的外键信息。
一、外键信息
查询列从左到右分别是: 外键约束名,子表名,外键列名,父表名
--外键信息
select fk.name fkname , ftable.name ftablename, cn.name fkcol, rtable.name ftablename,ObjectProperty(fk.id,'CnstIsUpdateCascade') updatCase,ObjectProperty(fk.id,'CnstIsDeleteCascade') deletCase from sysforeignkeys
join sysobjects fk
on sysforeignkeys.constid = fk.id
join sysobjects ftable
on sysforeignkeys.fkeyid = ftable.id
join sysobjects rtable
on sysforeignkeys.rkeyid = rtable.id
join syscolumns cn
on sysforeignkeys.fkeyid = cn.id and sysforeignkeys.fkey = cn.colid
二、外键被参考表
1 --外键被参考表
2 SELECT 主键列ID=b.rkey
3 ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid)
4 ,外键表ID=b.fkeyid
5 ,外键表名称=object_name(b.fkeyid)
6 ,外键名称= c.name
7 ,外键列ID=b.fkey
8 ,外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid)
9 ,级联更新=ObjectProperty(a.id,'CnstIsUpdateCascade')
10 ,级联删除=ObjectProperty(a.id,'CnstIsDeleteCascade')
11 FROM sysobjects a
12 join sysforeignkeys b on a.id=b.constid
13 join sysobjects c on a.parent_obj=c.id
14 join syscolumns cn
15 on b.fkeyid = cn.id and b.fkey = cn.colid
16 where a.xtype='f' AND c.xtype='U'
17 and object_name(b.rkeyid)='dt_article'
三、外键详细信息
参考来源 http://technet.microsoft.com/zh-cn/library/ms190196(v=SQL.110).aspx
1 --外键详细信息
2 SELECT
3 f.name AS foreign_key_name
4 ,OBJECT_NAME(f.parent_object_id) AS table_name
5 ,COL_NAME(fc.parent_object_id, fc.parent_column_id) AS constraint_column_name
6 ,OBJECT_NAME (f.referenced_object_id) AS referenced_object
7 ,COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS referenced_column_name
8 ,is_disabled
9 ,delete_referential_action_desc
10 ,update_referential_action_desc
11 FROM sys.foreign_keys AS f
12 INNER JOIN sys.foreign_key_columns AS fc
13 ON f.object_id = fc.constraint_object_id
14 WHERE f.parent_object_id = OBJECT_ID('test');
文章转载自:https://www.cnblogs.com/guanshan/p/guan131.html
SQLServer 查询所有外键关联表信息的更多相关文章
- SQLServer:查询所有外键关联表信息
--从左到右分别是: 外键约束名,子表名,外键列名,父表名 --use demodtcms--外键信息select fk.name fkname , ftable.name ftablename, ...
- T-SQL中找出一个表的所有外键关联表
二种方法(下例中表名为T_Work) 1.SQL查询系统表 SELECT 主键列ID=b.rkey ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.r ...
- sqlserver 数据库主外键关联错误
话题引入: 在建立主外键关系时,系统提示表"table2"中的列与现有的主键或UNIQUE约束不匹配 原因: 数据库表中只有一个主键,这个主键可以是多个列共同组成.所以table2 ...
- mysql外键与表查询
目录 自增特性 外键 外键关系 外键创建 外键的约束效果 级联更新级联删除 多对多关系 一对一关系 表查询关键字 select与from where筛选 group by分组 练习 关系练习 查询练习 ...
- pythonのsqlalchemy外键关联查询
#!/usr/bin/env python import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.dec ...
- oracle查询某张表的外键,并用 truncate 命令有外键的表中的数据
注:本文来源于<oracle查询某张表的外键(最终解决办法)> 一:几个查询表外键的脚本 select b.table_name, b.column_name from user_cons ...
- 通过SQL脚本来查询SQLServer 中主外键关系
在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好: 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主 ...
- oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息
来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...
- Entity FrameWork对有外键关联的数据表的添加操作
前天做了一个MVC Entity FrameWork项目,遇到有外键关联的数据编辑问题.当你编辑的时候,按照正常的逻辑,把每个字段的数据都对号入座了,然后点击保存按钮,本以为会顺理成章的编辑数据,但是 ...
- 基于EF的数据外键关联查询
现在很多ORM不自带外键关联的实体查询,比如我查询用户,用时将关联的角色信息查询出来,那么就要进行2次查询,很麻烦.而我现在要做的就是基于EF的外键关联查询.很方便的. 首先,创建基础查询的BaseS ...
随机推荐
- NOIP2022 退役记
无所谓,我还能卡队线. 无所谓,我还能被卡校线.
- [C++]const_cast,dynamic_cast,reinterpret_cast,static_cast转型
C++四种新式转型: const_cast(expression) dynamic_cast(expression) reinterpret_cast(expression) static_cast( ...
- [深度探索C++对象模型]memcpy和memset注意事项
不管使用memcpy()还是memset(),都只有在"classes不含任何由编译器产生的内部members"时才能运行.如果这个类声明一个或者一个以上的virtual func ...
- 使用SQL4Automation让CodeSYS连接数据库
摘要:本文旨在说明面向CodeSYS的数据库连接方案SQL4Automation的使用方法. 1.SQL4Automation简介 1.1.什么是SQL4Automation SQL4Auto ...
- [阿里云]I+的一些探索
I+是阿里云的关系网络分析,万物皆可联 使用中遇到的一些问题,特记录如下: 1.添加数据源 这个数据源是用于数据落地的存储,所以一定要选择<是> 2.配置对象信息 这一步就像是创建一个表来 ...
- 增加for循环-泛型的概念
增加for循环 增强for循环(也称for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的.它的内部原理其实是个lterator迭代器,所以在遍历的过程中,不能对集 ...
- 【总结笔记】全志平台 Linux ASOC 框架浅析
ASOC 各部分框图示意 Platform 一般由 SOC 芯片原厂负责编写,主要涉及到 SOC 内部数字音频接口DAI(I2S)和 DMA 的寄存器配置. Codec 一般由硬件方案的驱动工程师或者 ...
- 10月31日ATM编写逻辑描述
目录 ATM逻辑描述 三层框架简介 1.第一层(src.py) 2.第二层(interface文件夹下内容) 3.第三层(db_hanlder) 启动函数 用户注册功能 用户登录 common中的小功 ...
- wsl 更新到D盘
更换教程 https://blog.csdn.net/qq_39683682/article/details/113801632 安装后需要换个默认用户 https://blog.csdn.net/q ...
- 安装redhat6.10 出现的问题
安装redhat6.10 操作系统不定时重启情况说明 曾出现报错如下: 在UEFI模式下安装RHEL6.10,安装完毕后系统第一次重启无法进入操作系统,同时屏幕上出现错误提示: Invalid m ...