Udostępnij za pośrednictwem


sp_updateextendedproperty (języka Transact-SQL)

Aktualizuje wartość istniejącej właściwość rozszerzona.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • [ @name= ]{ 'property_name'}
    Is the name of the property to be updated.property_name is sysname, and cannot be NULL.

  • [ @value= ]{ 'value'}
    Is the value associated with the property.value is sql_variant, with a default of NULL.Rozmiar value nie może być więcej niż 7500 bajtów.

  • [ @level0type= ]{ 'level0_object_type'}
    Is the user or user-defined type.level0_object_type is varchar(128), with a default of NULL.Prawidłowe dane wejściowe są MONTAŻOWYCH, kontrakt, powiadomienie o zdarzeniu, grupa plików, wiadomości typu PARTITION funkcja PARTITION schemat, REMOTE usługa wiążące, trasa SCHEMA, usługa USER, TRIGGER, typ i NULL.

    Important noteImportant Note:

    USER i typ jako poziom 0 typy zostaną usunięte w przyszłej wersja programu SQL Server. Należy unikać stosowania tych funkcji w nowej pracy rozwoju i zaplanować do modyfikowania aplikacji korzystających aktualnie z tych funkcji.Użyj SCHEMA jako typ poziom 0, a nie użytkownika.Dla typu należy użyć SCHEMA jako poziom 0 typ i WPISZ jako typ poziom 1.

  • [ @level0name= ]{ 'level0_object_name'}
    Is the name of the level 1 object type specified.level0_object_name is sysname with a default of NULL.

  • [ @level1type= ]{ 'level1_object_type'}
    Is the type of level 1 object.level1_object_type is varchar(128) with a default of NULL.Prawidłowe dane wejściowe są agregacja, domyślny, funkcja, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, tabela, typ, VIEW, kolekcja SCHEMATU XML i wartość NULL.

  • [ @level1name= ]{ 'level1_object_name'}
    Is the name of the level 1 object type specified.level1_object_name is sysname with a default of NULL.

  • [ @level2type= ]{ 'level2_object_type'}
    Is the type of level 2 object.level2_object_type is varchar(128) with a default of NULL.Prawidłowe dane wejściowe są kolumna, CONSTRAINT, zdarzenie powiadomienie, indeks, PARAMETR, TRIGGER i wartość NULL.

  • [ @level2name= ]{ 'level2_object_name'}
    Is the name of the level 2 object type specified.level2_object_name is sysname, with a default of NULL.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

W celu ich określenia właściwości rozszerzone, obiekty w SQL Server Baza danych dzieli się na trzech poziomach (0, 1 i 2). Poziom 0 jest najwyższego poziomu i jest definiowana jako obiektów zawartych w bazie danych zakres.Obiekty poziomu 1 znajdują się w zakresie schematu lub użytkownika, a poziom 2 obiektów znajdują się w obiektach poziomu 1.Właściwości rozszerzone można zdefiniować dla obiektów w każdej z tych poziomów.Odwołania do obiektu w jeden poziom musi być kwalifikowany nazwami wyższego poziomu obiekty, które jest właścicielem lub je zawierają.Aby uzyskać pełną listę obiektów i ich prawidłowy poziom 0 1 i 2 typów, zobacz Za pomocą właściwości rozszerzonych na obiekty bazy danych.

Podany prawidłowy property_name i value, w przypadku wszystkich typów obiektów i nazwy są puste, zaktualizowane właściwość należy do bieżącej bazy danych.

Uprawnienia

Członkowie db_owner and db_ddladmin stałe role bazy danych może aktualizować rozszerzone właściwości dowolnego obiektu, z wyjątkiem następujących: db_ddladmin nie mogą dodawać właściwości do samej bazy danych lub do użytkowników lub ról.

Użytkownicy mogą aktualizować właściwości rozszerzone do obiektów jest ich właścicielem, lub na których mają uprawnienia ALTER lub CONTROL.Aby uzyskać pełną listę wymaganych uprawnień Zobacz Za pomocą właściwości rozszerzonych na obiekty bazy danych.

Przykłady

A.Aktualizowanie właściwość rozszerzona, o dla kolumna

W poniższym przykładzie aktualizuje wartości właściwość Caption kolumna ID w tabela T1.

USE AdventureWorks;
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.Aktualizowanie właściwość rozszerzona, o bazy danych

W poniższym przykładzie najpierw tworzy właściwość rozszerzona o na AdventureWorks Przykładowa baza danych i następnie aktualizuje wartość tej właściwości.

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