SQL基础11:sqlserver、oracle添加修改删除字段注释

SQL基础11:sqlserver、oracle添加修改删除字段注释,第1张

使用上面的命令,不管是否已经添加注释,都会通过覆盖的方式替换掉。当语句当中的注释不为空的时候,就相当于是修改表或字段的注释;当表或者字段的注释为空的时候,就相当于是在增加注释;更新也是一样。

我们在给字段添加注释的时候往往会有很多字段,比如一张表的字段会有50个字段,如果逐条添加至少会用20分钟这样效率太慢了,这时候我们要想如何快速添加。这里给大家附上我的方法

结果代码是: 建表后,设置表/字段的注释信息。

下面是 读取表/字段 的说明备注 的 SQL 语句。

获取数据库表清单:

select top 1000 

  ROW_NUMBER() OVER (ORDER BY a.object_id) AS No,  

  a.name AS 表名, 

  isnull(g.[value],'-') AS 说明

from 

  sys.tables a left join sys.extended_properties g 

  on (a.object_id = g.major_id AND g.minor_id = 0)

No 表名 说明

1 test_table 测试表

2 test_main -

获取数据库表的字段清单 [这里是查看 test_table 表的字段]

SELECT

  a.column_id AS No,

  a.name AS 列名,

  isnull(g.[value],'-') AS 说明

FROM

  sys.columns a left join sys.extended_properties g

 on (a.object_id = g.major_id AND g.minor_id = a.column_id)

WHERE

  object_id =

    (SELECT object_id FROM sys.tables WHERE name = 'test_table')

No 列名 说明

1 Test_ID 主键(自增长)

2 Test_Key 种类

3 Test_Value 数值

4 Test_Type 内部类型

5 Test_BelongTo 从属关系

6 Test_Grade 等级

7 Test_Remark 备注

8 Test_Visible 是否可见

-----

更加详细一点的信息

SELECT

   col.name AS 列名,

   typ.name as 数据类型,

   col.max_length AS 占用字节数,

   col.precision AS 数字长度,

   col.scale AS 小数位数,

   col.is_nullable  AS 是否允许非空,

   col.is_identity  AS 是否自增,

   case when exists 

      ( SELECT 1 

        FROM 

          sys.indexes idx 

            join sys.index_columns idxCol 

            on (idx.object_id = idxCol.object_id)

         WHERE

            idx.object_id = col.object_id

            AND idxCol.index_column_id = col.column_id 

            AND idx.is_primary_key = 1

       ) THEN 1 ELSE 0 END  AS 是否是主键

FROM

  sys.columns col left join sys.types typ on (col.system_type_id = typ.system_type_id)

WHERE

  col.object_id =

(SELECT object_id FROM sys.tables WHERE name = 'test_table')

SQL Server 2005 的 Microsoft SQL Server Management Studio Express

没有 带列名一起复制。 凑合着看看吧,就不手动写列名了。

Test_ID    int    4    10    0    0    1    1    主键(自增长)

Test_Key    varchar    10    0    0    0    0    0    种类

Test_Value    varchar    20    0    0    0    0    0    数值

Test_Type    int    4    10    0    0    0    0    内部类型

Test_BelongTo    int    4    10    0    1    0    0    从属关系

Test_Grade    int    4    10    0    1    0    0    等级

Test_Remark    varchar    50    0    0    1    0    0    备注

Test_Visible    bit    1    1    0    1    0    0    是否可见


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7984660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存