sp_updateextendedproperty (języka Transact-SQL)
Aktualizuje wartości istniejących właściwośćrozszerzone.
Składnia
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'}
Jest nazwą właściwość mają być aktualizowane.property_namejest sysname, i nie może być NULL.[ @value= ]{ 'value'}
To wartość skojarzona z właściwość.valuejest sql_variant, domyślna wartość NULL.Rozmiar value nie może być więcej niż 7500 bajtów.[ @level0type= ]{ 'level0_object_type'}
Jest typ zdefiniowany przez użytkownikalub użytkownika.level0_object_typejest varchar(128), domyślna wartość NULL.Prawidłowe dane wejściowe są zestawu, umowy, powiadomienie o zdarzeniu, grupa plików, typ wiadomości, funkcja PARTYCJI, schemat PARTYCJI, powiązania usługi zdalnego, trasy, SCHEMATU, usługi, użytkownika, WYZWALACZ, typ i NULL.Ważne: Użytkownik i typ jako poziom-0 typy zostaną usunięte w przyszłej wersja programu SQL Server.Unikaj używania tych funkcji w nowych prac rozwojowych i plan do modyfikowania aplikacji, które obecnie korzystają z tych funkcji.Użyj SCHEMATU jako typ poziom 0 w użytkownika.Dla typu należy użyć SCHEMATU jako typ poziom 0 i typ jako typ poziom 1.
[ @level0name= ]{ 'level0_object_name'}
Jest nazwą typu obiektu poziom 1 określonego.level0_object_namejest sysname Domyślna wartość NULL.[ @level1type= ]{ 'level1_object_type'}
Jest to typ obiektu poziom 1.level1_object_typejest varchar(128) Domyślna wartość NULL.Prawidłowe dane wejściowe są agregacji, domyślny, funkcja, nazwa pliku LOGICZNEGO, procedury, kolejki, reguły, SYNONIM, tabeli, typu, WIDOKU, KOLEKCJI SCHEMATU XML i NULL.[ @level1name= ]{ 'level1_object_name'}
Jest nazwą typu obiektu poziom 1 określonego.level1_object_namejest sysname Domyślna wartość NULL.[ @level2type= ]{ 'level2_object_type'}
Jest to typ obiektu poziom 2.level2_object_typejest varchar(128) Domyślna wartość NULL.Prawidłowe dane wejściowe są kolumny, ograniczenie, powiadomienie o zdarzeniu, indeks, PARAMETR, WYZWALACZ i wartości NULL.[ @level2name= ]{ 'level2_object_name'}
Jest nazwą typu obiektu poziom 2 określonego.level2_object_namejest sysname, domyślna wartość NULL.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Uwagi
O określenie właściwości rozszerzone, obiekty w SQL Server bazy danych dzieli się na trzy poziomy (0, 1 i 2).Poziom 0 jest najwyższy poziom i jest definiowana jako obiekty zawarte w bazie danych zakres.Obiekty poziomu 1 są zawarte w schematu lub użytkownika zakresi poziom 2 obiekty są zawarte przez obiekty poziom 1.Właściwości rozszerzone można zdefiniować dla obiektów w dowolnym z tych poziomów.Odwołania do obiektu w jeden poziom musi być kwalifikowany z nazwami wyższy poziom obiektów, lub je zawierają.Aby uzyskać pełną listę obiektów i ich typy prawidłowy poziom 0, 1 i 2, zobacz Używanie rozszerzonych właociwooci obiektów bazy danych.
Biorąc pod uwagę prawidłowego property_name i value, null, są wszystkie typy obiektów i nazwy właściwość , zaktualizowane należy do bieżącej bazy danych.
Uprawnienia
Członkowie db_owner i db_ddladmin ról stałej bazy danych może zaktualizować właściwości rozszerzone dowolny obiekt z następującym wyjątkiem: db_ddladminnie można dodać właściwości do samej bazy danych lub do użytkowników lub role.
Użytkownicy mogą aktualizować właociwooci rozszerzone do obiektów są właścicielami lub w którym mają oni uprawnienia ALTER lub FORMANTU.Aby uzyskać pełną listę wymaganych uprawnień, zobacz Używanie rozszerzonych właociwooci obiektów bazy danych.
Przykłady
A.Aktualizowanie rozszerzone właściwość kolumna
Poniższy przykład aktualizuje wartość właściwość Caption w kolumna ID w tabela T1.
USE AdventureWorks2008R2;
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 rozszerzonych właściwość bazy danych
Poniższy przykład tworzy najpierw rozszerzone właściwość na AdventureWorks2008R2 przykładowej bazy danych i aktualizuje wartość tej właściwość.
USE AdventureWorks2008R2;
GO
EXEC sp_addextendedproperty
@name = N'NewCaption', @value = 'AdventureWorks2008R2 Sample OLTP Database';
GO
USE AdventureWorks2008R2;
GO
EXEC sp_updateextendedproperty
@name = N'NewCaption', @value = 'AdventureWorks2008R2 Sample Database';
GO
Zobacz także