sp_updateextendedproperty (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Aktualisiert den Wert einer vorhandenen erweiterten Eigenschaft.
Transact-SQL-Syntaxkonventionen
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' }
]
]
]
]
Argumente
[ @name= ]{ 'property_name'}
Der Name der zu aktualisierenden Eigenschaft. property_name ist sysname und darf nicht NULL sein.
[ @value= ]{ 'value'}
Der Wert, der der Eigenschaft zugeordnet ist. value ist sql_variant, wobei der Standardwert NULL ist. Die Größe des Werts darf nicht mehr als 7.500 Bytes betragen.
[ @level0type= ]{ 'level0_object_type'}
Der Benutzer oder benutzerdefinierte Typ. level0_object_type ist varchar(128) mit dem Standardwert NULL. Gültige Eingaben sind ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, PLAN GUIDE, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE und NULL.
Wichtig
Die Typen USER und TYPE as-0 werden in einer zukünftigen Version von SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktionen zurzeit verwenden. Verwenden Sie SCHEMA anstelle von USER als Typ der Ebene 0. Verwenden Sie für TYPE als Typ der Ebene 0 SCHEMA und TYPE als Typ der Ebene 1.
[ @level0name= ]{ 'level0_object_name'}
Der Name des angegebenen Objekttyps der Ebene 1. level0_object_name ist sysname mit dem Standardwert NULL.
[ @level1type= ]{ 'level1_object_type'}
Der Typ des Objekts der Ebene 1. level1_object_type ist varchar(128) mit dem Standardwert NULL. Gültige Eingabewerte sind AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TABLE_TYPE, TYPE, VIEW, XML SCHEMA COLLECTION und NULL.
[ @level1name= ]{ 'level1_object_name'}
Der Name des angegebenen Objekttyps der Ebene 1. level1_object_name ist sysname mit dem Standardwert NULL.
[ @level2type= ]{ 'level2_object_type'}
Der Typ des Objekts der Ebene 2. level2_object_type ist varchar(128) mit dem Standardwert NULL. Gültige Eingabewerte sind COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER und NULL.
[ @level2name= ]{ 'level2_object_name'}
Der Name des angegebenen Objekttyps der Ebene 2. level2_object_name ist sysname mit dem Standardwert NULL.
Rückgabecodewerte
„0“ (erfolgreich) oder „1“ (fehlerhaft)
Bemerkungen
Zum Angeben erweiterter Eigenschaften werden die Objekte in einer SQL Server Datenbank in drei Ebenen klassifiziert (0, 1 und 2). Die Ebene 0 ist die höchste Ebene und ist definiert als Objekte, die im Datenbankbereich enthalten sind. Objekte der Ebene 1 sind in einem Schema- oder Benutzerbereich enthalten, und Objekte der Ebene 2 sind in Objekten der Ebene 1 enthalten. Erweiterte Eigenschaften können für Objekte auf einer dieser Ebenen definiert werden. Verweise auf ein Objekt einer Ebene müssen mit den Namen der Objekte der höheren Ebene gekennzeichnet werden, die diese besitzen oder enthalten.
Wenn bei einem gültigen property_name und -Wert alle Objekttypen und Namen NULL sind, gehört die aktualisierte Eigenschaft zur aktuellen Datenbank.
Berechtigungen
Mitglieder der festen Datenbankrollen db_owner und db_ddladmin können die erweiterten Eigenschaften jedes Objekts mit einer Ausnahme aktualisieren: db_ddladmin kann der Datenbank selbst oder Benutzern bzw. Rollen keine Eigenschaften hinzufügen.
Die Benutzer können erweiterte Eigenschaften für Objekte aktualisieren, die sie besitzen oder für die sie die ALTER- oder CONTROL-Berechtigung haben.
Beispiele
A. Aktualisieren einer erweiterten Eigenschaft für eine Spalte
Im folgenden Beispiel wird der Wert der Caption
-Eigenschaft für die ID
-Spalte in der T1
-Tabelle aktualisiert.
USE AdventureWorks2022;
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. Aktualisieren einer erweiterten Eigenschaft für eine Datenbank
Im folgenden Beispiel wird zunächst eine erweiterte Eigenschaft für die AdventureWorks2022
-Beispieldatenbank erstellt und dann der Wert dieser Eigenschaft aktualisiert.
USE AdventureWorks2022;
GO
EXEC sp_addextendedproperty
@name = N'NewCaption', @value = 'AdventureWorks Sample OLTP Database';
GO
USE AdventureWorks2022;
GO
EXEC sp_updateextendedproperty
@name = N'NewCaption', @value = 'AdventureWorks Sample Database';
GO
Weitere Informationen
Gespeicherte Prozeduren für die Datenbank-Engine (Transact-SQL)
sys.fn_listextendedproperty (Transact-SQL)
sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)