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

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Обновляет значение существующего расширенного свойства.Updates the value of an existing extended property.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

  
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' }  
                     ]  
              ]  
        ]  
    ]  

АргументыArguments

[ @name=] {"property_name"}[ @name= ]{ 'property_name'}
Имя свойства, которое необходимо обновить.Is the name of the property to be updated. property_namesysname, и не может иметь значение NULL.property_name is sysname, and cannot be NULL.

[ @value=] {"значение"}[ @value= ]{ 'value'}
Значение, связанное со свойством.Is the value associated with the property. значениеsql_variant, значение по умолчанию NULL.value is sql_variant, with a default of NULL. Размер значение может оказаться более чем 7 500 байт.The size of value may not be more than 7,500 bytes.

[ @level0type=] {"level0_object_type"}[ @level0type= ]{ 'level0_object_type'}
Пользователь или тип, определяемый пользователем.Is the user or user-defined type. level0_object_typevarchar(128) , значение по умолчанию NULL.level0_object_type is varchar(128), with a default of NULL. Допустимыми входными значениями являются сборки, КОНТРАКТА, уведомления о СОБЫТИИ, файловой группы, тип сообщений, функции СЕКЦИОНИРОВАНИЯ, СХЕМЫ СЕКЦИОНИРОВАНИЯ, СТРУКТУРЫ ПЛАНА, REMOTE SERVICE BINDING, МАРШРУТА, СХЕМЫ, службы, пользователя, триггер, тип и значение 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.

Важно!

Типы USER и TYPE уровня 0 будут удалены в будущих версиях SQL ServerSQL Server.USER and TYPE as level-0 types will be removed in a future version of SQL ServerSQL Server. Старайтесь не использовать эти функции в новых разработках и предусмотрите соответствующие изменения в приложениях, которые используют их в настоящее время.Avoid using these features in new development work, and plan to modify applications that currently use these features. Тип SCHEMA следует использовать в качестве типа уровня 0 вместо USER.Use SCHEMA as the level 0 type instead of USER. В значении аргумента TYPE следует указывать тип SCHEMA в качестве типа уровня 0 и TYPE в качестве типа уровня 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'}
Имя указанного типа объекта уровня 1.Is the name of the level 1 object type specified. level0_object_namesysname значение по умолчанию NULL.level0_object_name is sysname with a default of NULL.

[ @level1type=] {"level1_object_type"}[ @level1type= ]{ 'level1_object_type'}
Тип объекта уровня 1.Is the type of level 1 object. level1_object_typevarchar(128) значение по умолчанию NULL.level1_object_type is varchar(128) with a default of NULL. Допустимые входные данные: AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TABLE_TYPE, TYPE, VIEW, XML SCHEMA COLLECTION и 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'}
Имя указанного типа объекта уровня 1.Is the name of the level 1 object type specified. level1_object_namesysname значение по умолчанию NULL.level1_object_name is sysname with a default of NULL.

[ @level2type=] {"level2_object_type"}[ @level2type= ]{ 'level2_object_type'}
Тип объекта уровня 2.Is the type of level 2 object. level2_object_typevarchar(128) значение по умолчанию NULL.level2_object_type is varchar(128) with a default of NULL. Допустимые входные данные: COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER и NULL.Valid inputs are COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER, and NULL.

[ @level2name=] {"level2_object_name"}[ @level2name= ]{ 'level2_object_name'}
Имя указанного типа объекта уровня 2.Is the name of the level 2 object type specified. level2_object_namesysname, значение по умолчанию NULL.level2_object_name is sysname, with a default of NULL.

Значения кода возвратаReturn Code Values

0 (успешное завершение) или 1 (неуспешное завершение)0 (success) or 1 (failure)

ПримечанияRemarks

С целью указания расширенных свойств объекты в базе данных SQL ServerSQL Server распределены по трем уровням (0, 1 и 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). Уровень 0 является высшим уровнем и определяется как «объекты в области базы данных».Level 0 is the highest level and is defined as objects contained at the database scope. Объекты уровня 1 содержатся в схеме и в пользовательской области, а объекты уровня 2 содержатся в объектах уровня 1.Level 1 objects are contained in a schema or user scope, and level 2 objects are contained by level 1 objects. Расширенные свойства могут быть определены для объектов на любом из этих уровней.Extended properties can be defined for objects at any of these levels. Ссылки на объект определенного уровня должны быть уточнены именами объектов более высокого уровня, в которых они содержатся или которым они принадлежат.References to an object in one level must be qualified with the names of the higher level objects that own or contain them.

Задан допустимый property_name и значение, если все типы и имена объектов имеют значение null, то обновляемое свойство принадлежит текущей базе данных.Given a valid property_name and value, if all object types and names are null, the property updated belongs to the current database.

РазрешенияPermissions

Члены предопределенной роли базы данных db_ddladmin и db_owner могут обновлять расширенные свойства любого объекта со следующим исключением: db_ddladmin не могут добавлять свойства к самой базе данных, пользователям или ролям.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.

Пользователи могут обновлять расширенные свойства принадлежащих им объектов, а также свойства, для которых у этих пользователей есть разрешения ALTER или CONTROL.Users may update extended properties to objects they own, or on which they have ALTER or CONTROL permissions.

ПримерыExamples

A.A. Обновление расширенного свойства столбцаUpdating an extended property on a column

В следующем примере обновляется значение свойства Caption столбца ID в таблице 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. Обновление расширенного свойства базы данныхUpdating an extended property on a database

В следующем примере расширенное свойство образца базы данных AdventureWorks2012AdventureWorks2012 создается, затем обновляется.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  

См. такжеSee Also

Хранимым процедурам ядра СУБД (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)