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

  • 相关阅读:
    easyUI之tree
    MSSQL索引优化
    MongoDB学习笔记(一) MongoDB介绍及安装
    项目经理必备的11种人际关系技能
    http协议详细介绍
    ERP存储过程
    UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher【密码】
    UVA1588 UVALive3712 POJ3158 Kickdown
    UVA1588 UVALive3712 POJ3158 Kickdown
    UVA10340 POJ1936 ZOJ1970 All in All【字符串匹配】
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/25844.html
Copyright © 2011-2022 走看看