会飞的猪的小小猪圈

要做一只有思想、有能力、与众不同的猪

SQL Server2000系统表相关技巧(随时更新)

一、常用系统表:

    1.sysobjects:用于存储在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)信息的系统表;

    2.syscolumns:用于存储每个表和视图中的列信息及存储过程中的参数信息的系统表;

 

二、常用系统表字段说明:

    1.sysobjects

       a.name:对象名

       b.id:对象标识

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

       d.type:对象类型,xtype一致

 

    2.syscolumns

       a.name:列名或过程参数的名称;

       b.id:该列所属的表对象 ID,或与该参数关联的存储过程 ID;

       c.cdefault:该列的默认值 ID;

       d.domain:该列的规则或 CHECK 约束 ID;

       e.status:用于描述列或参数属性的位图:

            0x08 = 列允许空值;(换算为十进制值为:8)

            0x10 = 当添加varcharvarbinary列时,ANSI 填充生效.保留varchar列的尾随空格,保留varbinary列的尾随零; (换算为十进制值为:16)

            0x40 = 参数为OUTPUT参数; (换算为十进制值为:64)

            0x80 = 列为标识列; (换算为十进制值为:128)

       f.type:systypes中的物理存储类型;

       g.usertype:systypes中的用户定义数据类型 ID;

       h.iscomputed:表示是否已计算该列的标志:

            0 = 未计算;

            1 = 已计算;

       i.isoutparam:表示该过程参数是否是输出参数:

            1 = ;

            0 = ;

       j.isnullable:表示该列是否允许空值:

            1 = ;

            0 = ; 

三、相关sql语句:

    1.判断是否为自增字段:

       方法一:SELECT COLUMNPROPERTY(OBJECT_ID('表名'), '列名', 'IsIdentity') AS IsIdentity

       方法二:SELECT status FROM syscolumns,sysobjects WHERE syscolumns.id=sysobjects.id AND sysobjects.name='表名称' AND syscolumns.name='字段名称'; 看查询出的结果值是否为128.


posted on 2008-02-26 18:28 会飞的猪 阅读(385) 评论(0)  编辑  收藏 所属分类: M$SQLServer数据库


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告

准备换工作中。

留言簿

文章分类

文章档案

搜索

最新评论