SqlServer查询表名的备注(查询表名描述 MS_Description)

查询表名描述 MS_Description

?


1

2

3

4

5

SELECT tbs.name 表名,ds.value 描述      

FROM sys.extended_properties ds 

LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id 

WHERE  ds.minor_id=0 and

tbs.name=‘ScheduleRecords‘;--表名

添加表的描述

?


1

EXECUTE sp_addextendedproperty N‘MS_Description‘, N‘菜单表‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Menus‘, NULL, NULL;

更新表的描述

?


1

EXECUTE sp_updateextendedproperty N‘MS_Description‘, N‘菜单表‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Menus‘, NULL, NULL;

查询表的外键

?


1

2

3

4

5

6

SELECT tbs.name 表名,ds.value 描述     

FROM sys.extended_properties ds 

LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id 

WHERE  ds.minor_id=0 and

tbs.name=‘ScheduleRecords‘;--表名

WHERE OBJECT_NAME(sysobjects.parent_obj)=‘Table Name‘

SQL查询表的所有字段的备注说明

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

SELECT

    TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N‘‘ END,

    TableDesc=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N‘‘),

    Column_id=C.column_id,

    ColumnName=C.name,

    PrimaryKey=ISNULL(IDX.PrimaryKey,N‘‘),

    [IDENTITY]=CASE WHEN C.is_identity=1 THEN N‘√‘ELSE N‘‘ END,

    Computed=CASE WHEN C.is_computed=1 THEN N‘√‘ELSE N‘‘ END,

    Type=T.name,

    Length=C.max_length,

    Precision=C.precision,

    Scale=C.scale,

    NullAble=CASE WHEN C.is_nullable=1 THEN N‘√‘ELSE N‘‘ END,

    [Default]=ISNULL(D.definition,N‘‘),

    ColumnDesc=ISNULL(PFD.[value],N‘‘),

    IndexName=ISNULL(IDX.IndexName,N‘‘),

    IndexSort=ISNULL(IDX.Sort,N‘‘),

    Create_Date=O.Create_Date,

    Modify_Date=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

INNER JOIN sys.types T ON C.user_type_id=T.user_type_id

LEFT JOIN sys.default_constraints D ON C.[object_id]=D.parent_object_id

    AND C.column_id=D.parent_column_id AND C.default_object_id=D.[object_id]

LEFT JOIN sys.extended_properties PFD ON PFD.class=1

    AND C.[object_id]=PFD.major_id AND C.column_id=PFD.minor_id

-- AND PFD.name=‘Caption‘ -- 字段说明对应的描述名称(一个字段可以添加多个不同name的描述)

LEFT JOIN sys.extended_properties PTB ON PTB.class=1

    AND PTB.minor_id=0 AND C.[object_id]=PTB.major_id

-- AND PFD.name=‘Caption‘ -- 表说明对应的描述名称(一个表可以添加多个不同name的描述)

LEFT JOIN -- 索引及主键信息

    (

    SELECT

        IDXC.[object_id],

        IDXC.column_id,

        Sort=CASE INDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,‘IsDescending‘)

        WHEN 1 THEN ‘DESC‘ WHEN 0 THEN ‘ASC‘ ELSE ‘‘ END,

        PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N‘√‘ELSE N‘‘ END,

        IndexName=IDX.Name

    FROM sys.indexes IDX

    INNER JOIN sys.index_columns IDXC ON IDX.[object_id]=IDXC.[object_id]

        AND IDX.index_id=IDXC.index_id

    LEFT JOIN sys.key_constraints KC ON IDX.[object_id]=KC.[parent_object_id]

        AND IDX.index_id=KC.unique_index_id

    INNER JOIN -- 对于一个列包含多个索引的情况,只显示第1个索引信息

        (

            SELECT [object_id], Column_id, index_id=MIN(index_id)

            FROM sys.index_columns

            GROUP BY [object_id], Column_id

        ) IDXCUQ ON IDXC.[object_id]=IDXCUQ.[object_id]

            AND IDXC.Column_id=IDXCUQ.Column_id    AND IDXC.index_id=IDXCUQ.index_id

    ) IDX ON C.[object_id]=IDX.[object_id]

    AND C.column_id=IDX.column_id

    --WHERE O.name=N‘tablename‘ -- 如果只查询指定表,加上此条件

ORDER BY O.name,C.column_id

原文地址:https://www.cnblogs.com/Nina-piaoye/p/9829507.html

时间: 2024-10-24 19:17:07

SqlServer查询表名的备注(查询表名描述 MS_Description)的相关文章

SQL添加表字段以及SQL查询表,表的所有字段名

通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值为0 alter table [表名] add 字段名 int default 0 增加数字字段,长整型,缺省值为0 alter table [表名] add 字段名 single default 0 增加数字字段,单精度型,缺省值为0 alter

SQL查询表,表的所有字段名,SQL查询表,表的所有字段名

SQL查询表,表的所有字段名 2011-07-29 10:21:43|  分类: SQLServer |  标签:表  sql  字段   |举报 |字号 订阅 SQL查询表,表的所有字段名 SQL SERVER 查看所有表名: select name from sysobjects where type='U' 查询表的所有字段名: Select name from syscolumns Where ID=OBJECT_ID('表名') select * from information_sc

Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、

查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t;查询指定表的所有字段名:select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';查询指定表的所有字段名和字段说明:select t.column_name, t.column_name from

Oracle游标-循环查询表中数据(表名),并执行

Oralce 表中存有一个字段,该字段存储表名,要把该表中的所有表名查询出来(即表名结果集),且执行结果集from 表名结果集: declare v_ccount varchar2(100); --定义一个游标变量 cursor c_job is --查询该表中的所有表名 select tablename from tbname; c_row c_job%rowtype; begin --循环待处理数据,即以上查出的结果集 for c_row in c_job loop ---执行语句 from

sqlserver查询数据的所有表名和行数

原文:sqlserver查询数据的所有表名和行数 //查询所有表明select name from sysobjects where xtype='u' select * from sys.tables //查询数据库中所有的表名及行数 SELECT a.name AS [TABLE NAME] , b.rows AS [RECORD COUNT] FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.t

从一名打工者蜕变成一名企业家的五步曲

无数打工者每天皆梦想能于某天开创自己的公司.其总觉得自己拥有着进入一个领域并打造出一个成功的事业所需的正确的技能或者正确的创业点子.但,这些人到现在都还是只是在脑袋里意淫着而已,他们并没有真正的付诸行动去开始追求他们的创业点子.这又是为何呢? 如果你有一个可以创业的点子但又没有真正放手去干,那是因为什么原因拖了你后腿呢? 对于很多有抱负的企业家来说,缺乏如何启动一个可以催生出一家公司的项目的蓝图,让他们举步维艰.大部分人甚至不知道如何举出第一步,剩下一部分人却又不确定这种职业生涯是否是他们自己想

数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID)

数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID) 在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instance_name).在ORACLE8i.9i中出现了新的参数,即数据库域名(db_domain).服务名(service_name).以及操作系统环境变量(ORACLE_SID).这些都存在于同一个数据库中的标识,用于区分不同数据库的参数. 一.什么是数据库名(db_name)? 数据库名是用于区分数据

js中变量名提升和函数名提升

首先,js中变量没有块级作用域,但是有函数作用域,即只有函数可以约数变量的作用域. 并且,函数的实质也是一个变量,所以可以改变它的值,即赋值.所以变量名提升和函数名提升非常相像. 1.变量名的提升发生在函数内部.看下面的例子.说明:第一个因为弹出undefined,相当于在上面定义了var num;因为函数内部,定义了var num=20:就相当于在一开始定义了var num;这就是变量名的提升. var num = 10; function func() { alert(num); //und

Delphi 调用C/C++的Dll(stdcall关键字, 会导致函数名分裂. 此时函数名变成[email protected])

delphi调用C++写的Dll, 当然这个Dll要求是非MFC的Dll, 这样子才能被delphi调用. 根据C++定义函数的情况, Delphi有不同的相对应的处理方法.1. 声明中不加__stdcall,采用VC默认格式__cdecl,但在Delphi中要注明调用格式为cdecl.C++中例子: [cpp] view plain copy print? extern "C" int __declspec(dllexport) add(int x, int y); Delphi中例