您的位置:首页 > 移动开发 > Objective-C

SELECT sysobjects.id objectId,

2011-05-09 14:50 92 查看
1、查看表的主外键信息。

SELECT sysobjects.id objectId,
OBJECT_NAME(sysobjects.parent_obj) tableName,
sysobjects.name constraintName,
sysobjects.xtype AS constraintType,
syscolumns.name AS columnName
FROM sysobjects INNER JOIN sysconstraints
ON sysobjects.xtype in('C', 'F', 'PK', 'UQ', 'D')
AND sysobjects.id = sysconstraints.constid
LEFT OUTER JOIN syscolumns ON sysconstraints.id = syscolumns.id
WHERE OBJECT_NAME(sysobjects.parent_obj)='your table'

2、sysobjects 中xtype的类型。

sysobjects 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。

sysobjects 中有二个表示对象类型的字段(Type,XType)

Type是在SQLServer 6.0就有的,XType在SQLServer 7.0才出现的

对比了一下Type与XType,有一些不同
Type:
K = PRIMARY KEY 或 UNIQUE 约束
R = 规则

XType:
PK = PRIMARY KEY 约束(类型是 K)
UQ = UNIQUE 约束(类型是 K)

type是为了与过去的版本相兼容而存在的,SQLServer7.0之后用xtype 就可以了 xType  char(2)

对象类型。可以是下列对象类型中的一种:
C  =  CHECK  约束
D  =  默认值或  DEFAULT  约束
F  =  FOREIGN  KEY  约束
L  =  日志
FN  =  标量函数
IF  =  内嵌表函数
P  =  存储过程
PK  =  PRIMARY  KEY  约束(类型是  K)
RF  =  复制筛选存储过程
S  =  系统表
TF  =  表函数
TR  =  触发器
U  =  用户表
UQ  =  UNIQUE  约束(类型是  K)
V  =  视图
X  =  扩展存储过程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐