仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 589|回复: 8
打印 上一主题 下一主题

[学习教程] 使用Sql查询指定表的一切外键束缚及外键表名与列名

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
用一个库#bak_database存放这些历史数据。先看看我们要用到的几个目次视图的注释:
1,sys.foreign_keys--在这个视图中前往了一切的外键束缚
2,sys.foreign_key_columns--在这个视图中前往了一切外键列(只前往列的id)
3,sys.columns--在这个视图中前往了表与视图的一切列

示例:
好比我们要查询表tb1的一切外键信息,代码以下:
select
a.nameas束缚名,
object_name(b.parent_object_id)as外键表,
d.nameas外键列,
object_name(b.referenced_object_id)as主健表,
c.nameas主键列
fromsys.foreign_keysA
innerjoinsys.foreign_key_columnsBonA.object_id=b.constraint_object_id
innerjoinsys.columnsConB.parent_object_id=C.object_idandB.parent_column_id=C.column_id
innerjoinsys.columnsDonB.referenced_object_id=d.object_idandB.referenced_column_id=D.column_id
whereobject_name(B.referenced_object_id)=tb1;
因此我们看到,这些信息足够让我们对单个操作实现“逆操作”。
只想知道 该用户已被删除
沙发
发表于 2015-1-18 12:18:53 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-24 16:48:37 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
蒙在股里 该用户已被删除
地板
发表于 2015-2-2 11:29:17 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
兰色精灵 该用户已被删除
5#
发表于 2015-2-7 19:19:41 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
小妖女 该用户已被删除
6#
发表于 2015-2-23 09:32:56 | 只看该作者
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
活着的死人 该用户已被删除
7#
发表于 2015-3-7 07:46:49 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-14 17:27:24 | 只看该作者
入门没那么困难,精通没那么容易
深爱那片海 该用户已被删除
9#
发表于 2015-3-21 14:03:32 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-5 18:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表