zoukankan      html  css  js  c++  java
  • [转]mssql中得到库里所有的表名,以及表的结构(列名和数据类型)

    本文转自:http://kyle.itpub.net/post/1626/8891

    原文如下:
    ------------------得到数据库中所有的表名,以及表对应的字段,字段对应的类型,存放在#magic临时表里
    if exists (select * from tempdb..sysobjects where name like '#magic%')
    drop table #magic
    go
    select a.name name,b.name col,c.name type
    into #magic
    from sysobjects a,syscolumns b,systypes c
    where a.xtype = 'U'
    and a.id = b.id
    and b.xtype = c.xtype
    and b.xusertype = c.xusertype

    --------------------将结果加工
    select (case when tmp3.no=1 then tmp3.name else ' ' end) name,col,type
    from
    (select top 100000000 name
     ,(select count(1) from #magic tmp1
       where tmp1.name=tmp2.name
       and tmp1.col<=tmp2.col) as no,col,type
       from #magic tmp2
       order by name,col,type)
    tmp3

    --------------------下面一种方法转自csdn
    SELECT
    (case when a.colorder=1 then d.name else '' end) N'表名',
    a.colorder N'字段序号',
    a.name N'字段名',
    (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识',
    (case when (SELECT count(*)
    FROM sysobjects
    WHERE (name in
    (SELECT name
    FROM sysindexes
    WHERE (id = a.id) AND (indid in
    (SELECT indid
    FROM sysindexkeys
    WHERE (id = a.id) AND (colid in
    (SELECT colid
    FROM syscolumns
    WHERE (id = a.id) AND (name = a.name))))))) AND
    (xtype = 'PK'))>0 then '√' else '' end) N'主键',
    b.name N'类型',
    a.length N'占用字节数',
    COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',
    isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',
    (case when a.isnullable=1 then '√'else '' end) N'允许空',
    isnull(e.text,'') N'默认值',
    isnull(g.[value],'') AS N'字段说明'
    --into ##tx

    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.name<>'dtproperties'
    left join syscomments e
    on a.cdefault=e.id
    left join sysproperties g
    on a.id=g.id AND a.colid = g.smallid
    order by object_name(a.id),a.colorder

    ------------------再来一个视图
    SELECT tbl.name AS TableName, tbl.xtype AS TableType, col.name AS FieldName, 
          tt.name 
    AS FieldType, col.length AS FieldLength
    FROM dbo.syscolumns col INNER JOIN
          dbo.sysobjects tbl 
    ON col.id = tbl.id INNER JOIN
          dbo.systypes tt 
    ON col.xtype = tt.xtype
    WHERE (tbl.xtype = 'u'AND (tt.name <> N'sysname')

  • 相关阅读:
    css 讲浮动,haslayout,BFC的文章
    css 给inline和inline-block元素设置margin和padding
    css inline元素和inline-block元素之间缝隙产生原因和解决办法
    js 匿名函数立即执行问题
    css 解决图片下小空隙问题
    css BFC布局及用处
    css 单行/多行文字垂直居中问题
    js柯里化
    js 回调函数理解与应用
    js 四种调用模式和this的关系总结
  • 原文地址:https://www.cnblogs.com/SoulStore/p/875277.html
Copyright © 2011-2022 走看看