有关SQLServer2000元数据读取

来源:互联网 发布:移动制谱软件 编辑:程序博客网 时间:2024/05/02 23:56

       主要用到sysobjects(id,tablename),syscolumns(tablename,columanname),systypes(type)这几个表,可以读取不同的模式的基本定义,比如字段的名称,类型,精度等。对于是否自增之类的信息,可以通过columnproperty这个函数获得,查看帮助就知道如何使用了。例子:

  select
  表名=d.name,
  字段序号=a.colorder,字段名=a.name, 长度=a.length, 小数位数=CASE b.NAME WHEN 'datetime' THEN 0 ELSE b.XSCALE END, 非空=a.isnullable, 类型= b.name,自增= COLUMNPROPERTY (d.id,a.name, 'IsIdentity')
  FROM   syscolumns   a  
  left   join   systypes   b   on   a.xtype=b.xusertype  
  inner   join   sysobjects   d   on   a.id=d.id     and   d.xtype='U'   and   d.status>=0  

       除此以外,如果还想获得primary key的信息,一个很方便的方法 是通过INFORMATION_SCHEMA。比如primary key的信息就存放在key_column_usage,还有columns等信息。

     select * from INFORMATION_SCHEMA .KEY_COLUMN_USAGE

   

原创粉丝点击