爱飞 发表于 2015-1-16 14:09:00

使用Sql查询指定表的一切外键束缚及外键表名与列名

用一个库#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经验,没什么的,我也是刚学没多久!加油

兰色精灵 发表于 2015-2-7 19:19:41

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

小妖女 发表于 2015-2-23 09:32:56

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

活着的死人 发表于 2015-3-7 07:46:49

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

冷月葬花魂 发表于 2015-3-14 17:27:24

入门没那么困难,精通没那么容易

深爱那片海 发表于 2015-3-21 14:03:32

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
页: [1]
查看完整版本: 使用Sql查询指定表的一切外键束缚及外键表名与列名