zoukankan      html  css  js  c++  java
  • 获取数据库表的一些信息

    获取数据库表的一些信息:

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetDatabaseSchemaInformation]'and OBJECTPROPERTY(id, N'IsProcedure'= 1)
    drop procedure [dbo].[GetDatabaseSchemaInformation]
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS OFF
    GO

    CREATE  Procedure dbo.GetDatabaseSchemaInformation AS
    select cols.TABLE_NAME As 'Table Name',
          cols.COLUMN_NAME 
    as 'Column Name',
          cols.DATA_TYPE 
    as 'Data Type',
                      
    case
                            
    when cols.DATA_TYPE = 'bigint' then '8 bytes'
                            
    when cols.DATA_TYPE = 'int' then '4 bytes'
                            
    when cols.DATA_TYPE = 'smallint' then '2 bytes'
                            
    when cols.DATA_TYPE = 'tinyint' then '1 byte'
                            
    when cols.DATA_TYPE = 'bit' then '1 byte'
                            
    when cols.DATA_TYPE = 'money' then '8 bytes'
                            
    when cols.DATA_TYPE = 'smallmoney' then '4 bytes'
                            
    when cols.DATA_TYPE = 'text' then '16 bytes'
                            
    when cols.DATA_TYPE = 'datetime' then '8 bytes'
                            
    when cols.DATA_TYPE = 'smalldatetime' then '4 bytes'
                            
    when cols.DATA_TYPE = 'uniqueidentifier' then '16 bytes'
                            
    when cols.DATA_TYPE = 'decimal' then convert (varchar,cols.NUMERIC_PRECISION) + '' + convert(varchar, cols.NUMERIC_SCALE)
                            
    else convert(varchar, cols.CHARACTER_MAXIMUM_LENGTH) + ' chars'
                      
    end as 'Length',
                      
    case
                            
    when kcu.CONSTRAINT_NAME is null then 'NO' else 'YES'
                      
    end as 'PK?',
                      
    upper(cols.IS_NULLABLE) as 'Allows Nulls',
                      
    isnull(cols.COLUMN_DEFAULT, ''as 'Default Value'
    from INFORMATION_SCHEMA.COLUMNS cols
          
    join INFORMATION_SCHEMA.TABLES tabs on cols.TABLE_NAME = tabs.TABLE_NAME and
    tabs.TABLE_TYPE 
    = 'BASE TABLE'
          
    left join INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE ctu on cols.TABLE_NAME = ctu.TABLE_NAME and ctu.CONSTRAINT_NAME like 'PK%'
          
    left join INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu on ctu.CONSTRAINT_NAME = 
    kcu.CONSTRAINT_NAME 
    and cols.COLUMN_NAME = kcu.COLUMN_NAME
    where tabs.TABLE_NAME <> 'dtproperties'
    order by cols.TABLE_NAME, cols.ORDINAL_POSITION

    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO

  • 相关阅读:
    追踪神秘的成都Uber:月入2万元是现实还是传说
    打造自己博客(wordpress)的wap手机版本
    今天刚申请成为Uber司机 已经接了5单了....大家有什么想问的吗?
    UBER司机奖励政策
    原生应用native、Web应用、混合应用hybrid:3者的优缺点解析
    “基数排序”之数组中缺失的数字
    html5 新增语义标签
    如何判断Javascript对象是否存在
    HTML 5 <details> 标签
    html5 notifications通知
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/25844.html
Copyright © 2011-2022 走看看