sp_updateextendedproperty (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Uppdaterar värdet på en befintlig utökad fastighet.

Transact-SQL syntaxkonventioner

Syntax

sp_updateextendedproperty
    [ @name = ] N'name'
    [ , [ @value = ] value ]
    [ , [ @level0type = ] 'level0type' ]
    [ , [ @level0name = ] N'level0name' ]
    [ , [ @level1type = ] 'level1type' ]
    [ , [ @level1name = ] N'level1name' ]
    [ , [ @level2type = ] 'level2type' ]
    [ , [ @level2name = ] N'level2name' ]
[ ; ]

Arguments

[ @name = ] N'namn'

Namnet på fastigheten som ska uppdateras. @name är sysname, utan standard.

[ @value = ] värde

Värdet kopplat till fastigheten. @value är sql_variant, med standardvärdet NULL. Värdets storlek kan inte vara mer än 7 500 byte.

[ @level0type = ] 'level0type'

Användar- eller användardefinierad typ. @level0type är varchar(128), med en standard på NULL. Giltiga indata är:

  • ASSEMBLY
  • CONTRACT
  • EVENT NOTIFICATION
  • FILEGROUP
  • MESSAGE TYPE
  • PARTITION FUNCTION
  • PARTITION SCHEME
  • PLAN GUIDE
  • REMOTE SERVICE BINDING
  • ROUTE
  • SCHEMA
  • SERVICE
  • USER
  • TRIGGER
  • TYPE
  • NULL

Viktigt!

USER och TYPE som nivå 0 kommer typer att tas bort i en framtida version av SQL Server. Undvik att använda de här funktionerna i det nya utvecklingsarbetet och planera att ändra program som för närvarande använder dessa funktioner. Använd SCHEMA som nivå 0-typen istället för USER. För TYPE, använd SCHEMA som nivå 0-typen och TYPE som nivå 1-typen .

[ @level0name = ] N'level0name'

Namnet på objekttypen nivå 0 som specificeras. @level0name är sysname, med standardvärdet .NULL

[ @level1type = ] "level1type"

Typen av nivå 1-objekt. @level1type är varchar(128), med en standard på NULL. Giltiga indata är:

  • ASSEMBLY
  • CONTRACT
  • EVENT NOTIFICATION
  • FILEGROUP
  • MESSAGE TYPE
  • PARTITION FUNCTION
  • PARTITION SCHEME
  • PLAN GUIDE
  • REMOTE SERVICE BINDING
  • ROUTE
  • SCHEMA
  • SERVICE
  • USER
  • TRIGGER
  • TYPE
  • NULL

[ @level1name = ] N'nivå1namn'

Namnet på objekttypen nivå 1 specificeras. @level1name är sysname, med standardvärdet .NULL

[ @level2type = ] 'level2type'

Typen av nivå 2-objekt. @level2type är varchar(128), med standardvärdet .NULL Giltiga indata är:

  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • PARAMETER
  • TRIGGER
  • NULL

[ @level2name = ] N'level2name'

Namnet på objekttypen nivå 2 som specificeras. @level2name är sysname, med standardvärdet .NULL

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Anmärkningar

När du anger utökade egenskaper klassificeras objekten i en SQL Server-databas i tre nivåer (0, 1 och 2). Nivå 0 är den högsta nivån och definieras som objekt som finns i databasens omfång. Nivå 1-objekt ingår i ett schema eller användaromfång, och nivå 2-objekt finns i nivå 1-objekt. Utökade egenskaper kan definieras för objekt på vilken som helst av dessa nivåer. Referenser till ett objekt på en nivå måste kvalificeras med namnen på de högre nivåobjekt som äger eller innehåller dem.

Givet en giltig @name och @value, om alla objekttyper och namn är NULL, tillhör den uppdaterade egenskapen den aktuella databasen.

Permissions

Medlemmar av db_owner och db_ddladmin fasta databasroller kan uppdatera de utökade egenskaperna för vilket objekt som helst med följande undantag: db_ddladmin kan inte lägga till egenskaper i själva databasen, eller i användare eller roller.

Användare kan uppdatera utökade egenskaper till objekt de äger, eller där de har ALTER- eller CONTROL-behörigheter.

Examples

A. Uppdatera en utökad egenskap på en kolumn

Följande exempel uppdaterar värdet av egenskapen Caption på kolumnen ID i tabellen T1.

USE AdventureWorks2022;
GO

CREATE TABLE T1 (id INT, name CHAR (20));
GO

EXECUTE sp_addextendedproperty
    @name = N'Caption',
    @value = N'Employee ID',
    @level0type = 'SCHEMA',
    @level0name = N'dbo',
    @level1type = 'TABLE',
    @level1name = N'T1',
    @level2type = 'COLUMN',
    @level2name = N'id';
GO

--Update the extended property.
EXECUTE sp_updateextendedproperty
    @name = N'Caption',
    @value = 'Employee ID must be unique.',
    @level0type = 'SCHEMA',
    @level0name = N'dbo',
    @level1type = 'TABLE',
    @level1name = N'T1',
    @level2type = 'COLUMN',
    @level2name = N'id';
GO

B. Uppdatera en utökad egenskap i en databas

Följande exempel skapar först en utökad egenskap i exempeldatabasen AdventureWorks2025 och uppdaterar sedan värdet på den egenskapen.

USE AdventureWorks2022;
GO

EXECUTE sp_addextendedproperty
    @name = N'NewCaption',
    @value = 'AdventureWorks Sample OLTP Database';
GO

USE AdventureWorks2022;
GO

EXECUTE sp_updateextendedproperty
    @name = N'NewCaption',
    @value = 'AdventureWorks Sample Database';
GO