sp_updateextendedproperty (Transact-SQL)sp_updateextendedproperty (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Atualiza o valor de uma propriedade estendida existente.Updates the value of an existing extended property.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

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

ArgumentosArguments

[ @name=] {'property_name'}[ @name= ]{ 'property_name'}
É o nome da propriedade a ser atualizada.Is the name of the property to be updated. Property_Name está sysname, e não pode ser NULL.property_name is sysname, and cannot be NULL.

[ @value=] {'valor'}[ @value= ]{ 'value'}
É o valor associado à propriedade.Is the value associated with the property. valor está sql_variant, com um padrão NULL.value is sql_variant, with a default of NULL. O tamanho de valor não pode ser maior que 7.500 bytes.The size of value may not be more than 7,500 bytes.

[ @level0type=] {'level0_object_type'}[ @level0type= ]{ 'level0_object_type'}
É o usuário ou tipo definido pelo usuário.Is the user or user-defined type. level0_object_type está varchar (128) , com um padrão NULL.level0_object_type is varchar(128), with a default of NULL. As entradas válidas são ASSEMBLY, contrato, notificação de eventos, grupo de arquivos, tipo de mensagem, PARTITION FUNCTION, PARTITION SCHEME, guia de plano, REMOTE SERVICE BINDING, ROTA, esquema, serviço, usuário, GATILHO, tipo e NULL.Valid inputs are ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, PLAN GUIDE, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE, and NULL.

Importante

USER e TYPE como tipos de nível 0 serão removidos em uma versão futura do SQL ServerSQL Server.USER and TYPE as level-0 types will be removed in a future version of SQL ServerSQL Server. Evite usar esses recursos em novo trabalho de desenvolvimento e planeje modificar os aplicativos que os usam atualmente.Avoid using these features in new development work, and plan to modify applications that currently use these features. Use SCHEMA como o tipo de nível 0 em vez de USER.Use SCHEMA as the level 0 type instead of USER. Para TYPE, use SCHEMA como o tipo de nível 0 e TYPE como o tipo de nível 1.For TYPE, use SCHEMA as the level 0 type and TYPE as the level 1 type.

[ @level0name=] {'level0_object_name'}[ @level0name= ]{ 'level0_object_name'}
É o nome do tipo de objeto de nível 1 especificado.Is the name of the level 1 object type specified. level0_object_name está sysname com um padrão NULL.level0_object_name is sysname with a default of NULL.

[ @level1type=] {'level1_object_type'}[ @level1type= ]{ 'level1_object_type'}
É o tipo de objeto de nível 1.Is the type of level 1 object. level1_object_type está varchar (128) com um padrão NULL.level1_object_type is varchar(128) with a default of NULL. As entradas válidas são AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TABLE_TYPE, TYPE, VIEW, XML SCHEMA COLLECTION e NULL.Valid inputs are AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TABLE_TYPE, TYPE, VIEW, XML SCHEMA COLLECTION, and NULL.

[ @level1name=] {'level1_object_name'}[ @level1name= ]{ 'level1_object_name'}
É o nome do tipo de objeto de nível 1 especificado.Is the name of the level 1 object type specified. level1_object_name está sysname com um padrão NULL.level1_object_name is sysname with a default of NULL.

[ @level2type=] {'level2_object_type'}[ @level2type= ]{ 'level2_object_type'}
É o tipo de objeto de nível 2.Is the type of level 2 object. level2_object_type está varchar (128) com um padrão NULL.level2_object_type is varchar(128) with a default of NULL. As entradas válidas são COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER e NULL.Valid inputs are COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER, and NULL.

[ @level2name=] {'level2_object_name'}[ @level2name= ]{ 'level2_object_name'}
É o nome do tipo de objeto de nível 2 especificado.Is the name of the level 2 object type specified. level2_object_name está sysname, com um padrão NULL.level2_object_name is sysname, with a default of NULL.

Valores do código de retornoReturn Code Values

0 (êxito) ou 1 (falha)0 (success) or 1 (failure)

ComentáriosRemarks

Com o propósito de especificar as propriedades estendidas, os objetos em um banco de dados do SQL ServerSQL Server são classificados em três níveis (0, 1 e 2).For the purpose of specifying extended properties, the objects in a SQL ServerSQL Server database are classified into three levels (0, 1, and 2). O nível 0 é o mais alto e é definido como objetos que estão contidos no escopo do banco de dados.Level 0 is the highest level and is defined as objects contained at the database scope. Os objetos de nível 1 estão contidos em um esquema ou escopo de usuário e os objetos de nível 2 estão contidos pelos objetos de nível 1.Level 1 objects are contained in a schema or user scope, and level 2 objects are contained by level 1 objects. As propriedades estendidas podem ser definidas para os objetos em qualquer um desses níveis.Extended properties can be defined for objects at any of these levels. As referências a um objeto de um nível precisam ser qualificadas com os nomes dos objetos de nível superior que as possua ou contenha.References to an object in one level must be qualified with the names of the higher level objects that own or contain them.

Dado um válido property_name e valor, se todos os tipos de objeto e os nomes forem nulos, a propriedade atualizada pertencerá ao banco de dados atual.Given a valid property_name and value, if all object types and names are null, the property updated belongs to the current database.

PermissõesPermissions

Os membros das funções de banco de dados fixas db_owner e db_ddladmin podem atualizar as propriedades estendidas de qualquer objeto, com a seguinte exceção: db_ddladmin não pode adicionar propriedades ao banco de dados em si ou a usuários ou funções.Members of the db_owner and db_ddladmin fixed database roles may update the extended properties of any object with the following exception: db_ddladmin may not add properties to the database itself, or to users or roles.

Os usuários podem atualizar as propriedades estendidas dos objetos que possuírem ou para os quais tenham as permissões ALTER ou CONTROL.Users may update extended properties to objects they own, or on which they have ALTER or CONTROL permissions.

ExemplosExamples

A.A. Atualizando uma propriedade estendida em uma colunaUpdating an extended property on a column

O exemplo a seguir atualiza o valor de propriedade Caption na coluna ID da tabela T1.The following example updates the value of property Caption on column ID in table T1.

USE AdventureWorks2012;  
GO  
CREATE TABLE T1 (id int , name char (20));  
GO  
EXEC sp_addextendedproperty   
    @name = N'Caption'  
    ,@value = N'Employee ID'  
    ,@level0type = N'Schema', @level0name = dbo  
    ,@level1type = N'Table',  @level1name = T1  
    ,@level2type = N'Column', @level2name = id;  
GO  
--Update the extended property.  
EXEC sp_updateextendedproperty   
    @name = N'Caption'  
    ,@value = 'Employee ID must be unique.'  
    ,@level0type = N'Schema', @level0name = dbo  
    ,@level1type = N'Table',  @level1name = T1  
    ,@level2type = N'Column', @level2name = id;  
GO  

B.B. Atualizando uma propriedade estendida em um banco de dadosUpdating an extended property on a database

O exemplo a seguir primeiro cria uma propriedade estendida no banco de dados de exemplo AdventureWorks2012AdventureWorks2012 e atualiza o valor dessa propriedade.The following example first creates an extended property on the AdventureWorks2012AdventureWorks2012 sample database and then updates the value of that property.

USE AdventureWorks2012;  
GO  
EXEC sp_addextendedproperty   
@name = N'NewCaption', @value = 'AdventureWorks2012 Sample OLTP Database';  
GO  
USE AdventureWorks2012;  
GO  
EXEC sp_updateextendedproperty   
@name = N'NewCaption', @value = 'AdventureWorks2012 Sample Database';  
GO  

Consulte tambémSee Also

Procedimentos armazenados do mecanismo de banco de dados (Transact-SQL) Database Engine Stored Procedures (Transact-SQL)
sys.fn_listextendedproperty (Transact-SQL) sys.fn_listextendedproperty (Transact-SQL)
sp_addextendedproperty (Transact-SQL) sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL) sp_dropextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)sys.extended_properties (Transact-SQL)