SQL Server 2005数据库中,获取某个表的创建时间

来源:互联网 发布:网络语古耐是什么意思 编辑:程序博客网 时间:2024/06/16 00:02
在SQL Server 2005数据库中,想要获取某个表的创建时间,是今天我在百度问答中碰到的问题。本来还以为不能回答出来了,想不到在网上找找,自己试试,还真最终找到了解决问题的方法。从中也说明了,网路的力量还是蛮大的,什么东西都能在网路上找到;还有不可缺少的是自己的试验。

 

    其实问题是很好解决的,如下:

    因为数据库中的对象的信息都是放在系统试图sys.sysobjects中的,见名知意。主要是要对这个试图中的字段的意思要理解。那我在这里就讲一下数据库中的某个用户表的创建时间的获取。

Sql代码  收藏代码
    use databasename      go            select crdate as '创建时间' from sysobjects where name = 'tablename'
    就是如此简单!

    其中就讲一下sysobjects试图的字段的意思:

    Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。
Name,id,xtype,uid,status:分别是对象名,对象ID,对象类型,所有者对象的用户ID,对象状态。
对象类型(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 = 扩展存储过程
当xtype='U' and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值。
用: select * from misa.dbo.sysobjects where xtype='U' and status>0 就可以列出库misa中所有的用户建立的表名。
 
SELECT * FROM SYSOBJECTS WHERE PARENT_OBJ = OBJECT_ID( 'CS') AND XTYPE='TR'
列出表cs的所有属性,上面是trigger!