sp_rename (Transact-SQL) (Norsk)

  • 14/10/2020
  • 6 minutter å lese
    • m
    • c
    • M
    • m
    • r
    • +5

Gjelder: SQL Server (alle støttede versjoner) Azure SQL Database Azure Synapse Analytics

Endrer navnet på et brukeropprettet objekt i gjeldende database . Dette objektet kan være en tabell-, indeks-, kolonne-, aliasdatatype eller Microsoft .NET Framework brukerdefinert type (CLR) -definert type.

Merk

I Azure Synapse Analytics, sp_rename er i forhåndsvisning og kan bare brukes til å gi nytt navn til en KOLONN i et brukerobjekt.

Forsiktig

Endring av deler av et objekt navn kan bryte skript og lagrede prosedyrer. Vi anbefaler at du ikke bruker denne setningen for å gi nytt navn til lagrede prosedyrer, utløsere, brukerdefinerte funksjoner eller visninger; i stedet slipper du objektet og oppretter det på nytt med det nye navnet.

Transact-SQL syntakskonvensjoner

Syntaks

Argumenter

«objektnavn»
Er det nåværende kvalifiserte eller ikke-kvalifiserte navnet på brukerobjektet eller datatypen. Hvis objektet som skal omdøpes, er en kolonne i en tabell, må objektnavn være i skjemaet table.column eller schema.table.column. Hvis objektet som skal omdøpes, er en indeks, må objektnavn være i skjemaet table.index eller schema.table.index. Hvis objektet som skal omdøpes, er en begrensning, må objektnavn være i skjemaet. Begrensning.

Sitatmerker er bare nødvendige hvis et kvalifisert objekt er spesifisert. Hvis et fullt kvalifisert navn, inkludert et databasenavn, er oppgitt, må databasenavnet være navnet på den gjeldende databasen. objektnavn er nvarchar (776), uten standard.

«nytt navn»
Er det nye navnet på det angitte objektet. new_name må være et enhetsnavn og må følge reglene for identifikatorer. nytt navn er sysname, uten standard.

Merk

Utløsernavn kan ikke starte med # eller ##.

Verdi Beskrivelse
KOLONN En kolonne som skal omdøpes.
DATABASE En brukerdefinert database. Denne objekttypen kreves når du gir nytt navn til en database.
INDEKS En brukerdefinert indeks. Ved å gi nytt navn til en indeks med statistikk, omdøpes også statistikken automatisk.
OBJECT Et element av en type spores i sys.objects. For eksempel kan OBJECT brukes til å gi nytt navn til objekter, inkludert begrensninger (CHECK, UTENLANDSK NYTTELSE, PRIMÆR / UNIK KEY), brukertabeller og regler.
STATISTIK Gjelder: SQL Server 2012 (11.x) og senere og Azure SQL Database.
Statistikk opprettet eksplisitt av en bruker eller opprettet implisitt med en indeks. Ved å gi nytt navn til statistikken til en indeks, omdøpes også indeksen automatisk.
USERDATATYPE En CLR Brukerdefinerte typer lagt til ved å utføre CREATE TYPE eller sp_addtype.

«KOLONN» Gjelder: Azure Synapse Analytics
I sp_rename (forhåndsvisning ) for Azure Synapse Analytics er COLUMN en obligatorisk parameter som angir at objekttypen som skal omdøpes, er en kolonne. Det er en varchar (13) uten standardverdi og må alltid være inkludert i uttalelsen sp_rename (preview). En kolonne kan bare omdøpes hvis den ikke er en distribusjonskolonne.

Returkodeverdier

0 (suksess) eller et ikke-null nummer (feil)

Merknader

Gjelder SQL Server (alle støttede versjoner) og Azure SQL Database
sp_rename gir nytt navn på den tilknyttede indeksen når en PRIMÆR NØKKEL- eller UNIKT begrensning blir omdøpt. Hvis en omdøpt indeks er knyttet til en PRIMARY KEY-begrensning, blir også PRIMARY KEY-begrensningen automatisk omdøpt av sp_rename.

Gjelder SQL Server (alle støttede versjoner) og Azure SQL Database
sp_rename kan brukes for å gi nytt navn til primære og sekundære XML-indekser.

Gjelder SQL Server (alle støttede versjoner) og Azure SQL Database
Endring av navn på en lagret prosedyre, funksjon, visning eller utløser vil ikke endre navnet på den tilsvarende objekt enten i definisjonskolonnen i sys.sql_modules katalogvisning eller oppnådd ved hjelp av den innebygde funksjonen OBJECT_DEFINITION. Derfor anbefaler vi at sp_rename ikke brukes til å gi nytt navn til disse objekttypene. I stedet kan du slippe og gjenopprette objektet med det nye navnet.

Gjelder SQL Server (alle støttede versjoner), Azure SQL Database og Azure Synapse Analytics
Endre navn på et objekt som en tabell eller kolonnen vil ikke automatisk gi nytt navn til referanser til det objektet.Du må endre objekter som refererer til det omdøpte objektet manuelt. Hvis du for eksempel omdøper en tabellkolonne og den kolonnen er referert til i en utløser, må du endre utløseren for å gjenspeile det nye kolonnenavnet. Bruk sys.sql_expression_dependences til å liste avhengigheter av objektet før du endrer navnet på det.

Gjelder SQL Server (alle støttede versjoner), Azure SQL Database og Azure Synapse Analytics
Du kan endre navnet på et objekt eller datatype bare i den gjeldende databasen. Navnene på de fleste systemdatatyper og systemobjekter kan ikke endres.

Tillatelser

For å gi nytt navn til objekter, kolonner og indekser, krever ALTER tillatelse for objektet. For å gi nytt navn til brukertyper, krever CONTROL-tillatelse til typen. For å gi nytt navn til en database, krever medlemskap i sysadmin- eller dbcreator-faste serverroller

Eksempler

A. Endre navn på en tabell

Følgende eksempel gir nytt navn til SalesTerritory tabellen til SalesTerr i Sales skjema.

B. Gi nytt navn til en kolonne

Følgende eksempel gir nytt navn til TerritoryID -kolonnen i SalesTerritory -tabellen til TerrID.

C. Gi nytt navn til en indeks

Følgende eksempel gir nytt navn til IX_ProductVendor_VendorID indeksen til IX_VendorID.

D . Gi nytt navn til en aliasdatatype

Eksemplet nedenfor gir nytt navn til Phone aliasdatatypen til Telephone.

E. Endre navn på begrensninger

Følgende eksempler gir nytt navn til en PRIMÆR Nøkkelbegrensning, en CHECK-begrensning og en UTENLANDSK Nøkkelbegrensning. Når du omdøper en begrensning, må du angi skjemaet som begrensningen tilhører.

F. Gi nytt navn til statistikk

Følgende eksempel oppretter et statistikkobjekt med navnet contactMail1 og omdøper deretter statistikken til NewContact ved å bruke sp_rename. Når du gir nytt navn til statistikk, må objektet spesifiseres i formatet schema.table.statistics_name.

Eksempler: Azure Synapse Analytics

G. Gi nytt navn til en kolonne

Følgende eksempel gir nytt navn til c1 -kolonnen i table1 -tabellen til col1.

Se også

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *