SQL SERVER中获取表间主外键关系

sql server 2008中的主外键关系获取方式:

转自:http://www.cnblogs.com/ke10/archive/2012/06/11/2544655.html

SELECT OBJECT_NAME(con.constid) ‘关系名‘ ,
OBJECT_NAME(sf.fkeyid) ‘主键表‘ ,
fcol.name ‘主键‘ ,
OBJECT_NAME(sf.rkeyid) ‘外键表‘ ,
rcol.name ‘外键‘,
st.name‘数据类型‘
FROM sysforeignkeys sf
INNER JOIN sysconstraints con ON sf.constid = con.constid
INNER JOIN sys.syscolumns fcol ON fcol.id = sf.fkeyid
AND fcol.colid = sf.fkey
INNER JOIN sys.syscolumns rcol ON rcol.id = sf.rkeyid
AND rcol.colid = sf.rkey
INNER JOIN sys.systypes st ON fcol.type = st.type

时间: 2024-10-10 22:41:09

SQL SERVER中获取表间主外键关系的相关文章

PostgreSql查看当前表的主外键关系

PostgreSql查看当前表被哪些引用作参考表 -- pg_CONSTRAINT.contype : p(主键), f(外键), u(唯一), c(检查)-- 查看当前表IDSELECT oid, relname FROM pg_class WHERE relname = 'syslogfilter';-- 查看引用当前表ID作参考表的主外键约束信息SELECT * FROM pg_CONSTRAINT WHERE confrelid = '24935';-- 查看那些外键的名称SELECT

关于表的主外键关系练习 师生 分数表

--创建三个表 --表一:学生表 student--学号:code int (主键)从1开始--姓名:name varchar(50)--性别:sex char(10)--班级:banji char(10)--语文教师编号:yujiao int --数学教师编号:yujiao int --英语教师编号:yujiao int --表二:教师表 teacher--教师名字:name --教师编号:code int (主键) 从1001开始--负责课程:lesson char(10)(语文.数学.英语

数据库几张表有主外键关系怎么删除

1. trigger ,数据库触发器操作.在数据库完成,先删子表后删主表,连接数据库次数太多,性能估计不太好. 2. 级联删除 在创建表时定义,如下所示的b表: create table a ( id varchar(20) primary key, password varchar(20) not null ) create table b ( id int identity(1,1) primary key, name varchar(50) not null, userId varchar

SQL Server数据库中导入导出数据及结构时主外键关系的处理

2015-01-26 软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出.处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入. 情景一.同一数据库产品,相同版本 此种情况下源数据库与目标数据库的数据结构与数据的导入导出非常简单. 方法1:备份源数据库,恢复到目标数据库即完成. 方法2:使用SQL Sever数据库自带的[复制数据库]功能或者[导入数据]功能按照向导操作即可. 情景二.同一数据库产品,不同版

SQL Server中多表连接时驱动顺序对性能的影响

原文:SQL Server中多表连接时驱动顺序对性能的影响 本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL,其表面的原因是表之间去的驱动顺序造成的性能问题,具体表现在(已排除其他因素影响的情况下),存储过程偶发性的执行时间超出预期,甚至在调试的时候

通过SQL脚本来查询SQLServer 中主外键关系

在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好: 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主外键关系: SELECT f.name AS '关系名称', OBJECT_NAME(f.parent_object_id) AS '表名称', COL_NAME(fc.parent_object_id,fc.parent_column_id) AS '字段名称', OBJECT_NAME (f.r

快速查看SQL Server 中各表的数据量以及占用空间大小

快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O

Access and SQL Server 中的表转置

样表如下: Student ID sName Subject Score 1 张三 Chinese 80 2 张三 Math 90 3 张三 English 85 4 李四 Chinese 85 5 李四 Math 92 6 李四 English 82 Access: TRANSFORM Avg(Student.Score) AS ScoreOfAvgSELECT Student.sNameFROM StudentGROUP BY Student.sNamePIVOT Student.Subje

Sql Server中判断表或者数据库是否存在

Sql Server中判断表或者数据库是否存在 SQL Server中判断数据库是否存在: 法(一): select * From master.dbo.sysdatabases where name='数据库名' 法(二): if db_id('数据库名') is not null drop database ... go create ... SQL Server中判断表对象是否存在: select count(*) from sysobjects where id = object_id(