• 相关软件
    >sp_dropextendedproperty 创建者:webmaster 更新时间:2006-02-16 15:51

    除去现有的扩展属性。



    语法


    sp_dropextendedproperty

        [ @name = ] { 'property_name' }

        [ , [ @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。



    [@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'}



    指定的 1 级对象类型的名称。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。有效的输入是 COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER 和 NULL。



    [@level2name =]{'level2_object_name'}



    指定的 2 级对象类型的名称。level2_object_name 的数据类型为 sysname,其默认值为 NULL。



    返回代码值


    0(成功)或 1(失败)



    注释


    系统对象不允许有扩展属性。



    对象是按级别区分的,0 级为最高,2 级为最低。当用户添加、更新或删除扩展属性时,必须指定所有更高级别的对象。例如,如果用户要向 1 级对象添加扩展属性,就必须指定所有 0 级信息。如果用户要向 2 级对象添加扩展属性,就必须提供关于 0 级和 1 级的所有信息。



    在每个级别上,对象类型和对象名可唯一地标识对象。如果指定了一个对中的任一方,则必须指定另一方。



    给定一个有效的 property_name,如果所有的对象类型及名称是空的,并且存在一个当前数据库属性,那么就删除该数据库属性。如果指定对象类型和名称,则还必须指定父对象和类型。否则,SQL Server 会产生错误。



    权限


    db_ownerdb_ddladmin 固定数据库角色的成员可以除去任何对象的扩展属性。用户可以除去其拥有的对象的扩展属性。但是,只有 db_owner 才可以除去用户名的属性。



    示例


    下面的示例在"T1"表中从"id"列删除"caption"属性,该表由 dbo 所拥有。



    CREATE   table T1 (id int , name char (20))
    GO
    EXEC   sp_addextendedproperty 'caption', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id
    EXEC sp_dropextendedproperty 'caption', 'user', dbo, 'table', 'T1', 'column', id
    相关文章
    本页查看次数: