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
.