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
相关推荐
SQL Server - 列出所有外键
select schema_name(fk_tab.schema_id) + '.' + fk_tab.name as foreign_table, '>-' as rel, schema_name(pk_tab.schema_id) + '.' + pk_tab.name as primary_table, substring(column_names, 1, len(column_names)-1) as [fk_columns], fk.name as fk_c.
SQLServer 递归查询 根据子表查询所有父表
根据子表查询所有父表 WFE_FlowRecord表中 WFE_FRCode为主键,WFE_PFRCode为父表的主键 现在想查询某个子表的所有父表的数据,且父表的标志位为WFE_FRSubFlow = 'F' 查询语句如下: with cte AS ( select WFE_PFRCode,WFE_FRSubFlow,WFE_FRCode,0 as lvl from WFE
SQL Server查找表的外键关系
有时候想清空数据库中的数据,但是要保留表结构,就需要用truncate或delete语句去删除各个表中的数据。 执行删除语句的时候,经常会出现以下错误: --无法截断表 'XXX',因为该表正由 FOREIGN KEY 约束引用。 此时,我们需要去核实XXX表究竟被哪些表引用了。当表数量较多且引用关系复杂时,手动核实引用关系需要花费大量时间。此时,可以通过执行以下语句查找某个表的被引用关系: select zjb.name as '主键表', wjb.name as '外键表',zml.name
Sql查询指定表的所有外键约束及外键表名与列名
先看看我们要用到的几个目录视图的解释: 1,sys.foreign_keys--在这个视图中返回了所有的外键约束 2,sys.foreign_key_columns--在这个视图中返回了所有外键列(只返回列的id) 3,sys.columns--在这个视图中返回了表与视图的所有列
如何获取SQLSERVER所有表的外键关系参数
SELECT 主表名=object_name(b.rkeyid) ,主键列ID=b.rkey ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) ,外键表ID=b.fkeyid ,外键表名称=object_name(b.fkeyid) ,外键列ID=b.fkey
MySql查询外键的父表明的SQL_SQL Server 查询所有外键子父表关系
SELECT table_name,fk_name,reference_table_name,fk_list_number,fk_detailFROM (SELECT object_name(f.object_id) AS fk_name,object_name(f.parent_object_id) AS table_name,object_name(f.referenced_object_id...
SQLServer:查询所有外键关联表信息
SELECT 主键列ID=b.rkey ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid) ,外键表ID=b.fkeyid ,外键表名称=object_name(b.fkeyid) ,外键列ID=b.fkey ,外键列名=(SELECT na
查询外键关联表(父表)
–查询外键关联表(父表) `` select distinct allc1.table_name 表名, allc1.constraint_name 外键名, dcc1.column_name 约束字段, --dccm.comments 字段中文名,
select distinct_SQL面试经典50题:带你从SELECT语句开始
上一篇文章我们介绍了MySQL数据库中的建表导表的步骤,本篇再基于上篇文章的数据基础上我们介绍下SELECT语句一.SELECT语句基础学习要点使用SELECT从表中选取数据。为列设定显示用的别名。SELECT语句中可以使用常数或者表达式。通过指定DISTINCT可以删除重复行。SQL语句中可以使用注释。可以通过WHERE语句从表中选取出符合查询条件的数据。语法4. 基本的SELECT语句SELE...
SQL查询所有外键子父表关系
Mysql select a.owner, --主键拥有者 a.table_name, --主键表 b.column_name, --主键列 c.OWNER, --外键拥有者 c.table_name, --外键表 d.column_name --外键列 from user_constraints a left join user_cons_columns b ..
sql server如何查看外键以及如何创建外键
在写实验报告时我发现不会在窗口查找外键关系,点外键找不到他的关系。 如图点击,可以看见创建外键的代码 USE [SM] GO ALTER TABLE [dbo].[course] WITH CHECK ADD CONSTRAINT [FK_course_Teacher] FOREIGN KEY([CTno]) REFERENCES [dbo].[Teacher] ([Tno]) //course表,FK_course_Teacher外键约束名,CTno引用外键约束名,外键表Teacher //向co
MySQL父查询子、子查询父
一、根据父查询子 1、sql实现 SELECT GROUP_CONCAT(id) id FROM ( SELECT t1.*,IF(FIND_IN_SET(parentid, @pids) > 0, @pids := CONCAT(@pids, ',', id), '0') AS ischild FROM (SELECT * FROM test ORDER BY id ASC)...
通过SQL脚本来查询SQLServer 中主外键关系
在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好; 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主外键关系: SELECT f.name AS '关系名称', OBJECT_NAME(f.parent_object_id) AS '表名称', COL_NAME(...
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 sy...
MySQL数据库查看表所有外键
MySQL查看表所有外键,场景,客户需要清除测试数据,但是拥有操作权限的用户不能直接删除【操作日志表中有外键关联到用户表】,因此需要查询本表所对应的所有外键子表。select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from INFORMATION_SCHEMA.KEY...
查外键父子关系
<br />select uc.constraint_name, uc.owner child_owner, uc.table_name child_table, ucc.column_name child_column<br />,ucp.owner parent_owner, ucp.table_name parent_table, ucp.column_name parent_column<br />from dba_constraints uc, dba_cons_columns ucc, dba_
1199




被折叠的 条评论
为什么被折叠?



