数据库中会经常用到的系统表

1.sysobjects


  在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。


  常规用法:select * from sysobjects where id= object_id(‘TableName‘) and type = ‘U‘ 查找表TableName的信息


  更多参考http://msdn.microsoft.com/zh-cn/library/ms177596.aspx


2.syscolumns


  为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。


  常规用法:select * from syscolumns where id = object_id(‘TableName‘) 查找表TableName的列信息


  更多参考http://msdn.microsoft.com/zh-cn/library/ms186816.aspx


3.systypes


  为数据库中定义的每种系统提供的数据类型和每种用户定义的数据类型返回一行。


  常规用法:select * from SysTypes where xtype = 167 查找某个列的数据类型


  更多参考http://msdn.microsoft.com/zh-cn/library/ms175109.aspx


对于用户数和角色数超过32767,用上面3个表可能会造成溢出或返回null,为了避免可以参考http://msdn.microsoft.com/zh-cn/library/ms187376.aspx


C:检查约束。

D:默认的约束

F:外键约束

L:日志

P:存储过程

PK:主键约束

RF:复制过滤存储过程

S:系统表格

TR:触发器

U:用于表格。

UQ:独特的约束。

V:视图

X:被扩展的存储过程


在碰到触发器的情形下,用来识别触发器类型的其他三个列是:deltrig、instrig和uptrig。



本文出自 “技术永无止境未来事在人为” 博客,谢绝转载!

数据库中会经常用到的系统表

上一篇:SQL Server2005 强制转换类型


下一篇:修改ORACLE字符集