仓酷云

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

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

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
一个语句分成两个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
支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-14 21:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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