再见西城 发表于 2015-1-16 22:39:30

MSSQL编程:查询库中的CHECK束缚信息的两个视图(S...

一个语句分成两个event(实际上不止,其他可以忽略),一个table_mapevent和一个Rows_log_event。Table_mapevent是一样的,主要看Rows_log_event。server|视图
以下两个视图均基于体系表sysobjects、syscomments和体系视图sysconstraints,查询了局中包含表ID、表名、列ID、列名、CHECK束缚ID、CHECK束缚名、CHECK束缚status值和CHECK束缚的内容,TCCView为Table-Column-CheckView,了局中均为列级CHECK束缚,TCView为Table-CheckView,了局中均为表级CHECK束缚。

关于字段status的值的感化,拜见不必企业办理器的情形下得知CHECK束缚的属性设置一文。

上面是两个视图的代码,可用于SQLSERVER2000数据库中的恣意数据库中。

TCCView:
SELECTTOP100PERCENTa.idAStableid,a.tablename,a.colid,a.columnname,
a.datatype,a.length,b.constidAScheckid,b.checkname,b.status,b.content
FROM(SELECTsysobjects.nameAStablename,sysobjects.id,
syscolumns.nameAScolumnname,syscolumns.colid,
systypes.nameASdatatype,syscolumns.lengthASlength
FROMsysobjects,syscolumns,systypes
WHEREsysobjects.xtype=uANDsysobjects.id=syscolumns.idAND
syscolumns.xtype=systypes.xtypeAND
systypes.xtype=systypes.xusertypeANDsysobjects.status>0)
aLEFTOUTERJOIN
(SELECTsysobjects.namecheckname,sysobjects.status,sysconstraints.constid,
sysconstraints.id,sysconstraints.colid,syscomments.textAScontent
FROMsysobjects,sysconstraints,syscomments
WHERExtype=cANDsysobjects.id=sysconstraints.constidAND
sysconstraints.constid=syscomments.id)bONa.id=b.idAND
a.colid=b.colid
ORDERBYa.tablename,a.columnname,b.checkname

TCView:
SELECTa.idAStableid,a.tablename,b.constidAScheckid,b.checkname,b.status,
b.content
FROM(SELECTsysobjects.id,sysobjects.nameAStablename
FROMsysobjects
WHEREsysobjects.xtype=uANDsysobjects.status>0)aLEFTOUTERJOIN
(SELECTsysobjects.namecheckname,sysobjects.status,sysconstraints.constid,
sysconstraints.id,sysconstraints.colid,syscomments.textAScontent
FROMsysobjects,sysconstraints,syscomments
WHERExtype=cANDsysobjects.id=sysconstraints.constidAND
sysconstraints.constid=syscomments.idANDsysconstraints.colid=0)bON
a.id=b.id
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

谁可相欹 发表于 2015-1-17 12:15:33

再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。

灵魂腐蚀 发表于 2015-1-20 18:33:41

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

活着的死人 发表于 2015-1-29 14:32:37

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

冷月葬花魂 发表于 2015-2-6 01:55:49

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

深爱那片海 发表于 2015-2-14 21:35:00

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐

山那边是海 发表于 2015-3-4 10:43:59

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

因胸联盟 发表于 2015-3-11 18:23:57

如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。

蒙在股里 发表于 2015-3-19 07:22:34

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
页: [1]
查看完整版本: MSSQL编程:查询库中的CHECK束缚信息的两个视图(S...