SQL系统表介绍

介绍一下sql server数据库中的系统表sysobjects。在每个数据库中都存在此表。
sysobjects存放着数据库中的所有对象,如表,列,索引等等。
字段xtype代表对象类型,u代表用户表,p代表存储过程,tr代表触发器。
name字段表示对象名称。
以用友数据库为例
use ufdata_888_2004
查询数据库ufdata_888_2004的用户表
select * from sysobjects 
where xtype = 'u' and name like 'fa_%' 
order by name
查询数据库ufdata_888_2004的存储过程
select * from sysobjects 
where xtype = 'p' and name like 'fa_%'
order by name
查询数据库ufdata_888_2004的触发器
select * from sysobjects 
where xtype = 'tr' and name like 'sa_%' 
order by name
介绍一下sql server数据库中的系统表:Syscolumns,在每个数据库中都存在此表。
name:名称
id:该列所属的表对象 ID,或与该参数关联的存储过程 ID
select * from Syscolumns
syscolumns和sysobjects连用:
select col.name,obj.name
from syscolumns col join sysobjects obj on col.id = obj.id
where obj.xtype = 'u' and obj.name like 'sa_%'
order by col.name
表syscolumns和systypes连用
select sysobjects.name,systypes.name from syscolumns inner join systypes on syscolumns.type = systypes.type
inner join sysobjects on syscolumns.id = sysobjects.id
where systypes.name = 'datetime' and sysobjects.xtype = 'u' and sysobjects.name like 'sa%

 

 

sysobjects 表中,xtype字段的取值:

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 = 扩展存储过程

你可能感兴趣的:(sql相关)