syscolumns OBJECT_ID 数据库验证字段表名

53 篇文章 0 订阅
29 篇文章 0 订阅

当前数据库的所有字段都保留在syscolumns里面。

syscolumns (

  name     sysname,   --字段名称

  id       int,        --该字段所属的表的ID

  xtype    tinyInt,    --该字段类型,关联sysTypes表

  length   smallint,   --该字段物理存储长度

  ...

)

使用方法是:

Select name from syscolumns Where ID=OBJECT_ID('表名')

或者做为一个判断的条件:

Select 1 from syscolumns Where ID=OBJECT_ID('表名') and name='(列名)'。

我的实例:(为stu表添加一个stu_nm字段)

if exists(select 1 from syscolumns where id=object_id('stu') and name='stu_nm')

   alter table stu alter column stu_nm int null

else

   alter table stu add stu_nm int null

go

以上程序在运行多次也不会出现系统错误,所以在发布使用时特别的方便。

另有:

 ncsyscolumns:包括id、name、number

 syscolumns:包括id、colid、number

select   *   from   yourdb.INFORMATION_SCHEMA.KEY_COLUMN_USAGE   

 

  KEY_COLUMN_USAGE的结构   

 

  列名   数据类型   描述     

  CONSTRAINT_CATALOG   nvarchar(128)   约束限定符     

  CONSTRAINT_SCHEMA   nvarchar(128)   约束所有者名称     

  CONSTRAINT_NAME   nvarchar(128)   约束名     

  TABLE_CATALOG   nvarchar(128)   表限定符     

  TABLE_SCHEMA   nvarchar(128)   表所有者名称     

  TABLE_NAME   nvarchar(128)   表名     

  COLUMN_NAME   nvarchar(128)   列名     

  ORDINAL_POSITION   int   列顺序位置     

 

  sysconstraints也是系统表。   

  结构   

 

  列名   数据类型   描述     

  constid   int   约束号。     

  id   int   拥有该约束的表   ID。     

  colid   smallint   在其上定义约束的列   ID,如果是表约束则为   0。     

  spare1   tinyint   保留。     

  status   int   位图指示状态。可能的值包括:     

              1   =   PRIMARY   KEY   约束。   

              2   =   UNIQUE   KEY   约束。   

              3   =   FOREIGN   KEY   约束。   

              4   =   CHECK   约束。     

              5   =   DEFAULT   约束。   

              16   =   列级约束。   

              32   =   表级约束。     

  actions   int   保留。     

  error   int   保留。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值