当前位置:首页 >数据库 >使用SQL语句给表的栏位添加注释

使用SQL语句给表的栏位添加注释

2025-11-03 20:25:22 [IT科技] 来源:益强编程舍
关于注释这个问题,使用之前没用SQL语句去添加过,栏位都是添加在Enterprise Manager里面添加的。查了一下资料,注释得知Microsoft在SQL Server™ 2000中引入了扩展属性,使用用户可在各种数据库对象上定义这些属性。栏位这些扩展属性可用于存储与数据库对象有关的添加应用程序或站点特有的信息。 可以用sp_addextendedproperty将新扩展属性添加到数据库对象中。注释如果属性已经存在,使用则过程失败。栏位 用法如下:

sp_addextendedproperty

    [ @name = ] { property_name }

使用SQL语句给表的栏位添加注释

    [ ,添加 [ @value = ] { value }

        [ , [ @level0type = ] { level0_object_type }

         , [ @level0name = ] { level0_object_name }

            [ , [ @level1type = ] { level1_object_type }

             , [ @level1name = ] { level1_object_name }

                    [ , [ @level2type = ] { level2_object_type }

                     , [ @level2name = ] { level2_object_name }

                    ]

            ]

        ]

    ]

参数

[ @name = ] { property_name }要添加的属性名称。property_name 的注释数据类型为 sysname,它不能是使用 NULL。名称可能还包括空白或非字母数字字符串和二进制值。栏位 注:property_name=MS_Description时,添加为添加注释[ @value = ] { value }将要与属性相关联的值。value 的数据类型为 sql_variant,带有默认设置 NULL。value 的大小不能超过 7,500 字节;否则 SQL Server 会产生错误。 [ @level0type = ] { level0_object_type }用户或用户定义类型。level0_object_type 的数据类型为 varchar(128),其默认值为 NULL。有效的服务器租用输入是 USER、TYPE 和 NULL。 [ @level0name = ] { level0_object_name }指定的 0 级对象类型的名称。level0_object_name 的数据类型为 sysname,其默认值为 NULL。 [ @level1type = ] { level1_object_type }1 级对象的类型。level1_object_type 的数据类型为 varchar(128),其默认值为 NULL。有效的输入是 TABLE、VIEW、PROCEDURE、FUNCTION、DEFAULT、RULE 和 NULL。 [ @level1name = ] { level1_object_name }指定的 1 级对象类型的名称。level1_object_name 的数据类型为 sysname,其默认值为 NULL。 [ @level2type = ] { level2_object_type }2 级对象的类型。level2_object_type 的数据类型为 varchar(128),其默认值为 NULL。IT技术网有效的输入是 COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER 和 NULL。 [ @level2name = ] { level2_object_name }指定的 2 级对象类型的名称。level2_object_name 的数据类型为 sysname,其默认值为 NULL。

返回代码值

0(成功)或 1(失败)#p# 注释1.系统对象不允许有扩展属性。 2.对象是按级别区分的,0 级为***,2 级为***。当用户添加、更新或删除扩展属性时,必须指定所有更高级别的对象。例如,如果用户要向 1 级对象添加扩展属性,就必须指定所有 0 级信息。如果用户要向 2 级对象添加扩展属性,则必须提供关于 0 级和 1 级的所有信息。 3.在每个级别上,对象类型和对象名可唯一地标识对象。如果指定了一个对中的任一方,则必须指定另一方。高防服务器 4.给定了有效 property_name 和 value,如果没有任何对象类型和名称,则属性属于当前数据库。如果指定对象类型和名称,则还必须指定父对象和类型。否则,SQL Server 会产生错误。 权限  db_owner 和 db_ddladmin 固定数据库角色的成员可以将扩展属性添加到任何对象中。用户可以为他们所拥有的对象添加扩展属性。然而,只有 db_owner 可以将属性添加到用户名称中。 示例

下面的示例给表"T1"的"ID"列添加注释:

CREATE table T1 (id int , name char (20)) GO EXEC sp_addextendedproperty MS_Description, Employee ID, user, dbo, table, T1, column, id EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=Noooo , @level0type=NSCHEMA,@level0name=Ndbo, @level1type=NTABLE,@level1name=NOperaInfo, @level2type=NCOLUMN,@level2name=Noperaid 另外sp_updateextendedproperty:更新现有扩展属性的值。 sp_dropextendedproperty:除去现有的扩展属性。 FN_LISTEXTENDEDPROPERTY:检索现有扩展属性的值 在Oracle中可用COMMENT语句给栏位加注释,如下:

COMMENT ON COLUMN employees.job_id

   IS abbreviated job title; 删除注释: COMMENT ON COLUMN employees.job_id IS ; 更详细的语法参考Oracle文档 【编辑推荐】 SQL中INSERT语句的使用技巧 SQL语句中output的用法 详解SQL中的GROUP BY语句 sqlplus执行存储过程和sql语句的写法 SQL Server日期计算语句

(责任编辑:域名)

    推荐文章