zoukankan      html  css  js  c++  java
  • View

    •  示例
    SELECT     b.name AS TableName, a.name AS FieldName, ISNULL(a.is_nullable, 1) AS AllowNull, d.definition AS DefaultValue, CASE WHEN c.Name = 'image' THEN 'System.Byte[]' WHEN c.Name IN ('image', 
                          'uniqueidentifier', 'ntext', 'varchar', 'ntext', 'nchar', 'nvarchar', 'text', 'char') THEN 'System.String' WHEN c.Name IN ('tinyint', 'smallint', 'int', 'bigint') 
                          THEN 'System.Int32' WHEN c.Name IN ('datetime', 'smalldatetime', 'date') THEN 'System.DateTime' WHEN c.Name IN ('float', 'decimal', 'numeric', 'money', 'real', 'smallmoney') 
                          THEN 'System.Decimal' WHEN c.Name = 'bit' THEN 'System.Boolean' ELSE c.Name END AS ValueType, CASE WHEN ColumnProperty(a.object_id, a.Name, 'Precision') 
                          = - 1 THEN '2^31-1' ELSE rtrim(ColumnProperty(a.object_id, a.Name, 'Precision')) END AS MaxLength, CASE WHEN a.[max_length] = - 1 AND 
                          c.Name != 'xml' THEN 'max/2G' WHEN c.Name = 'xml' THEN '2^31-1字节/2G' ELSE rtrim(a.[max_length]) END AS MaxByteCount, CASE WHEN CHARINDEX('', CAST(e.value AS nvarchar(100))) 
                          > 0 THEN substring(CAST(e.value AS nvarchar(100)), 1, CHARINDEX('', CAST(e.value AS nvarchar(100))) - 1) ELSE CAST(e.value AS nvarchar(100)) END AS FieldDesc, CASE WHEN CHARINDEX('', 
                          CAST(f.value AS nvarchar(100))) > 0 THEN substring(CAST(f.value AS nvarchar(100)), 1, CHARINDEX('', CAST(f.value AS nvarchar(100))) - 1) ELSE CAST(f.value AS nvarchar(100)) END AS TableDesc, 
                          CASE WHEN c.Name = 'image' THEN '图片' WHEN c.Name IN ('image', 'uniqueidentifier', 'ntext', 'varchar', 'ntext', 'nchar', 'nvarchar', 'text', 'char') THEN '字符串' WHEN c.Name IN ('tinyint', 
                          'smallint', 'int', 'bigint') THEN '数字' WHEN c.Name IN ('datetime', 'smalldatetime', 'date') THEN '时间' WHEN c.Name IN ('float', 'decimal', 'numeric', 'money', 'real', 'smallmoney') 
                          THEN '金额' WHEN c.Name = 'bit' THEN '布尔' ELSE c.Name END AS ValueTypeDesc
    FROM         sys.columns AS a INNER JOIN
                          sys.objects AS b ON a.object_id = b.object_id LEFT OUTER JOIN
                          sys.types AS c ON a.user_type_id = c.user_type_id LEFT OUTER JOIN
                          sys.default_constraints AS d ON a.default_object_id = d.object_id LEFT OUTER JOIN
                          sys.extended_properties AS e ON e.name = 'MS_Description' AND e.major_id = a.object_id AND e.minor_id = a.column_id LEFT OUTER JOIN
                          sys.extended_properties AS f ON e.name = 'MS_Description' AND f.major_id = a.object_id AND f.minor_id = 1
    WHERE     (b.type IN ('U', 'V')) AND (a.name <> 'WBDBH')

     整理版

    SELECT     b.name AS TableName, a.name AS FieldName, 
        ISNULL(a.is_nullable, 1) AS AllowNull, d.definition AS DefaultValue, 
        CASE WHEN c.Name = 'image' THEN 'System.Byte[]' 
        WHEN c.Name IN ('image','uniqueidentifier', 'ntext', 'varchar', 'ntext', 'nchar', 'nvarchar', 'text', 'char') 
            THEN 'System.String' 
        WHEN c.Name IN ('tinyint', 'smallint', 'int', 'bigint') 
            THEN 'System.Int32' 
        WHEN c.Name IN ('datetime', 'smalldatetime', 'date') THEN 'System.DateTime' 
        WHEN c.Name IN ('float', 'decimal', 'numeric', 'money', 'real', 'smallmoney') 
            THEN 'System.Decimal' 
        WHEN c.Name = 'bit' THEN 'System.Boolean' ELSE c.Name END AS ValueType, 
        CASE WHEN ColumnProperty(a.object_id, a.Name, 'Precision') 
                          = - 1 THEN '2^31-1' ELSE rtrim(ColumnProperty(a.object_id, a.Name, 'Precision')) END AS MaxLength, CASE WHEN a.[max_length] = - 1 AND 
                          c.Name != 'xml' THEN 'max/2G' WHEN c.Name = 'xml' THEN '2^31-1字节/2G' ELSE rtrim(a.[max_length]) END AS MaxByteCount, CASE WHEN CHARINDEX('', CAST(e.value AS nvarchar(100))) 
                          > 0 THEN substring(CAST(e.value AS nvarchar(100)), 1, CHARINDEX('', CAST(e.value AS nvarchar(100))) - 1) ELSE CAST(e.value AS nvarchar(100)) END AS FieldDesc, CASE WHEN CHARINDEX('', 
                          CAST(f.value AS nvarchar(100))) > 0 THEN substring(CAST(f.value AS nvarchar(100)), 1, CHARINDEX('', CAST(f.value AS nvarchar(100))) - 1) ELSE CAST(f.value AS nvarchar(100)) END AS TableDesc, 
                          CASE WHEN c.Name = 'image' THEN '图片' WHEN c.Name IN ('image', 'uniqueidentifier', 'ntext', 'varchar', 'ntext', 'nchar', 'nvarchar', 'text', 'char') THEN '字符串' WHEN c.Name IN ('tinyint', 
                          'smallint', 'int', 'bigint') THEN '数字' WHEN c.Name IN ('datetime', 'smalldatetime', 'date') THEN '时间' WHEN c.Name IN ('float', 'decimal', 'numeric', 'money', 'real', 'smallmoney') 
                          THEN '金额' WHEN c.Name = 'bit' THEN '布尔' ELSE c.Name END AS ValueTypeDesc
    FROM         sys.columns AS a INNER JOIN
                          sys.objects AS b ON a.object_id = b.object_id 
                          LEFT OUTER JOIN sys.types AS c ON a.user_type_id = c.user_type_id 
                          LEFT OUTER JOIN sys.default_constraints AS d ON a.default_object_id = d.object_id 
                          LEFT OUTER JOIN sys.extended_properties AS e ON e.name = 'MS_Description' AND e.major_id = a.object_id AND e.minor_id = a.column_id 
                          LEFT OUTER JOIN sys.extended_properties AS f ON e.name = 'MS_Description' AND f.major_id = a.object_id AND f.minor_id = 1
    WHERE     (b.type IN ('U', 'V')) 
            AND (a.name <> 'WBDBH')
            
            
    
    select *    
    FROM         sys.columns AS a 
                INNER JOIN sys.objects AS b ON a.object_id = b.object_id 
                LEFT OUTER JOIN sys.types AS c ON a.user_type_id = c.user_type_id 
                LEFT OUTER JOIN sys.default_constraints AS d ON a.default_object_id = d.object_id 
                LEFT OUTER JOIN sys.extended_properties AS e ON e.name = 'MS_Description' AND e.major_id = a.object_id AND e.minor_id = a.column_id 
                LEFT OUTER JOIN sys.extended_properties AS f ON e.name = 'MS_Description' AND f.major_id = a.object_id AND f.minor_id = 1
    WHERE     (b.type IN ('U', 'V')) 
            AND (a.name <> 'WBDBH')
            
        
    select * From  sys.columns where object_id = '17'
    select * From sys.objects where object_id = '17'
        
    
    

    a:sys.columns

    user_type_id
    object_id
    default_object_id
    column_id

    b:sys.objects

      object_id

      

    c:sys.types

      

    sys.default_constraints

      

  • 相关阅读:
    对抽象编程:接口和抽象类
    工厂方法模式
    用例建模Use Case Modeling
    分析一套源代码的代码规范和风格并讨论如何改进优化代码
    结合工程实践选题调研分析同类软件产品
    如何提高程序员的键盘使用效率
    Java复习面试指南01什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
    Mac系统下MySql下载MySQL5.7及详细安装流程
    Java复习面试指南02JDK和JRE的区别?程序从源代码到运行经历哪几步?
    毕业半年小结
  • 原文地址:https://www.cnblogs.com/jacketlin/p/6557739.html
Copyright © 2011-2022 走看看