zoukankan      html  css  js  c++  java
  • SQL Server系统视图 [不定期更新]

    1.sys.objects:在数据库中创建的每个用户定义的架构作用域内的对象(如表、视图、约束、默认值、日志、规则存储过程等,但不包括DDL触发器)在该表中均对应一行。

    列名

    说明

    name

    对象名。

    object_id

    对象标识号。在数据库中是唯一的。

    type

    对象类型。如,U = 表(用户定义类型)UQ = UNIQUE 约束。

    type_desc

    对对象类型的说明。如,UNIQUE_CONSTRAINT、USER_TABLE

    create_date

    对象的创建日期。

    modify_date

    上次使用 ALTER 语句修改对象的日期。 如果对象为表或视图,则创建或修改表或视图的聚集索引时,modify_date 也会随之更改。

    2.sys.tables:为 SQL Server 中的每个用户表返回一行(即将sys.objects表中的用户表单独列出来,包含sys.objects中的所有列,并又添加若干列)。

    3.sys.columns:为包含列的对象(如视图或表)的每一列返回一行。

    列名

    说明

    object_id

    此列所属对象的 ID。

    name

    列名,在对象中是唯一的。

    column_id

    列的ID,在对象中是唯一的。列 ID 可以不按顺序排列。

    is_identity

    1 = 列具有标识值。

    4.sys.extended_properties:针对当前数据库中的每个扩展属性返回一行。

    列名

    说明

    class

    标识其上存在属性的项类。如,1 = 对象或列。

    class_desc

    其上存在扩展属性的类的说明。 如,OBJECT_OR_COLUMN。

    major_id

    其上存在扩展属性的项的ID,根据项类进行解释。对于大多数项,该ID适用于类所表示的项。如果class为0,则major_id始终为0。如果class为1、2或7,则major_id为object_id。

    minor_id

    其上存在扩展属性的项的辅助ID,根据项类进行解释。对于大多数项,ID为0;否则,ID 为下列值之一:如果class = 1,则minor_id在项为列的情况下等于column_id在项为对象的情况下等于0。如果class = 2,则minor_id为parameter_id。如果class = 7,则minor_id为index_id。

    name

    属性名,其class、major_id和minor_id是唯一的。

    value

    扩展属性的值。

    注:表格为所有列或主要列的说明信息。

    使用实例

    1.查看用户表的信息:

    select 
        表名=name,
        创建时间=Create_Date, 
        修改时间=Modify_date  
    from sys.tables--或者sys.objects where type='U'

    2.查看用户表的字段说明信息:

    select 
        表名=case when col.column_id=1 THEN tab.name else N'' end, 
        字段名=col.name,
        字段说明=isnull(ext.value,N'')
    from sys.tables tab 
        join sys.columns col 
            on tab.object_id=col.object_id
        join sys.extended_properties ext 
            on col.object_id=ext.major_id and col.column_id=ext.minor_id

    3.查看用户表字段说明信息、最后修改日期:

    select * from 
    (
        select
            TableName=case when C.column_id=1 then O.name else N'' end, 
            FieldName=C.name, 
            FieldDescription=cast(isnull(P.value,N'') as nvarchar(500)), 
            LastModifyDate=O.Modify_date 
        from sys.columns C 
            inner join sys.objects O 
                on C.[object_id]=O.[object_id] 
                    and O.type='U' 
                    and O.is_ms_shipped=0 
            Left Join sys.extended_properties P
                on P.class=1 
                    and C.[object_id]=P.major_id 
                    and C.column_id=P.minor_id 
                    --And P.name='Caption'-- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述) 
    ) OCP
    order by LastModifyDate desc
  • 相关阅读:
    金额转中国大写
    double 四舍五入保留一定的位数
    通过ajax提交表单上传文件
    微信扫码提示浏览器打开的
    在Servlet中获取spring容器WebApplicationContext
    Oracle CONNECT by 简单用法
    JS 删除Array对象中的元素。
    数据导出excel
    DWZ 在js中刷新某个navTab
    Python发送邮件
  • 原文地址:https://www.cnblogs.com/walden1024/p/4549511.html
Copyright © 2011-2022 走看看