SQLSERVER比较常用的系统表整理

0
已邀请:
7

梁勇 - 天道酬勤、上善若水。爱好商业智能 2013-09-22 回答

1、Sysobjects 在每个数据库中都存在此表。存放着数据库中的所有对象,如表,列,索引等等。字段xtype代表对象类型,u代表用户表,p代表存储过程,tr代表触发器。name字段表示对象名称。 如: select * from sysobjects where xtype='u'

2、Syscolumns 在每个数据库中都存在此表。name:名称。id:该列所属的表对象 ID,或与该参数关联的存储过程 ID. 如: select col.name,obj.name from syscolumns col join sysobjects obj on col.id = obj.id where obj.xtype = 'u' and obj.name like 'Dim_%' order by col.name

3、Systypes对于每种系统提供数据类型和用户定义数据类型,均包含一行信息。该表存储在每个数据库中。这些是系统提供的数据类型及其 ID 号。

4、Spt_values相当于一个数字辅助表,在sql中主要用到number这个字段。列名分别为名称、值、类型、下限、上限、状态类型。列的取值含义:D=Database Option P=Projection DBR=Database Role DC=Database Replication I=Index L=Locks V=Device Type因为比较多,无法一一列举。其中类型P较为特殊,它只是0-2047(与版本有关)之间的数字的简单列表,作为对所有类型之间关系的预测。巧用master..spt_values表输出数字或者时间常量表2009-10-16 14:32 。sql开发中经常需要使用数字或者时间的常量表。比如,输出一年的月份表,输出1000以内的自然数等等。数量连续且不超过2048。那么使用master..spt_values表就会再也方便不过了。

5、Syscoments: 包含数据库中每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始的 SQL 定义语句。 select A. ,B. from syscomments A join sysobjects B on A.id=B.id where B.xtype= 'TR''

6、Sysdatabases:存放数据库的信息

7、Sysforeignkeys: 包含关于表定义中的 FOREIGN KEY 约束的信息。该表存储在每个数据库中
2

zhangmin02 2013-09-22 回答

赞, SQL2008以后定义建议用sys.sql_module比较方便, syscomments会存在多条记录拼接一个数据库对象的定义.

要回复问题请先登录注册