sp_rename (Transact-SQL) (Română)

  • 14/10/2020
  • 6 minute de citit
    • m
    • c
    • M
    • m
    • r
    • +5

Se aplică la: SQL Server (toate versiunile acceptate) Azure SQL Database Azure Synapse Analytics

Schimbă numele unui obiect creat de utilizator în baza de date curentă . Acest obiect poate fi un tabel, index, coloană, tip de date alias sau tip definit de utilizator Microsoft .NET Framework common language runtime (CLR).

Notă

În Azure Synapse Analytics, sp_rename este în Previzualizare și poate fi utilizat numai pentru a redenumi o COLUMNĂ într-un obiect de utilizator.

Atenție

Schimbarea oricărei părți a unui obiect numele poate sparge scripturile și procedurile stocate. Vă recomandăm să nu utilizați această declarație pentru a redenumi procedurile stocate, declanșatoarele, funcțiile definite de utilizator sau vizualizările; în schimb, aruncați obiectul și recreați-l cu noul nume.

Convenții de sintaxă Transact-SQL

Sintaxă

Argumente

„nume_obiect”
Este numele actual calificat sau necalificat al obiectului utilizatorului sau al tipului de date. Dacă obiectul care urmează să fie redenumit este o coloană dintr-un tabel, obiect_nume trebuie să fie în formularul table.column sau schema.table.column. Dacă obiectul care urmează să fie redenumit este un index, obiect_nume trebuie să fie în formularul table.index sau schema.table.index. Dacă obiectul care urmează să fie redenumit este o constrângere, obiect_nume trebuie să aibă forma schema.constraint.

Ghilimelele sunt necesare numai dacă este specificat un obiect calificat. Dacă este furnizat un nume complet calificat, inclusiv un nume de bază de date, numele bazei de date trebuie să fie numele bazei de date curente. object_name este nvarchar (776), fără implicit.

„new_name”
Este noul nume pentru obiectul specificat. nume_nou trebuie să fie un nume dintr-o singură parte și trebuie să respecte regulile pentru identificatori. newname este sysname, fără implicit.

Notă

Numele declanșatorilor nu pot începe cu # sau ##.

Valoare Descriere
COLUMN O coloană care trebuie redenumită.
DATABASE O bază de date definită de utilizator. Acest tip de obiect este necesar la redenumirea unei baze de date.
INDEX Un index definit de utilizator. Redenumirea unui index cu statistici, de asemenea, redenumește automat statisticile.
OBJECT Un element de un tip urmărit în sys.objects. De exemplu, OBJECT ar putea fi folosit pentru a redenumi obiecte, inclusiv constrângeri (CHECK, CHEIE STRĂINĂ, CHEIE PRIMARĂ / UNICĂ), tabele de utilizator și reguli. td> Se aplică la: SQL Server 2012 (11.x) și versiunile ulterioare și Azure SQL Database.
Statistici create explicit de un utilizator sau create implicit cu un index. Redenumirea statisticilor unui index redenumește automat și indexul.
USERDATATYPE Un tip CLR definit de utilizator adăugat prin executarea CREATE TYPE sau sp_addtype.

„COLUMN” Se aplică: Azure Synapse Analytics
În sp_rename (previzualizare ) pentru Azure Synapse Analytics, COLUMN este un parametru obligatoriu care specifică faptul că tipul de obiect care urmează să fie redenumit este o coloană. Este un varchar (13) fără valoare implicită și trebuie întotdeauna inclus în declarația sp_rename (preview). O coloană poate fi redenumită numai dacă este o coloană fără distribuție.

Returnează valorile codului

0 (succes) sau un număr diferit de zero (eșec)

Observații

Se aplică SQL Server (toate versiunile acceptate) și Azure SQL Database
sp_rename redenumește automat indexul asociat ori de câte ori este redenumită o constrângere PRIMARY KEY sau UNIQUE. Dacă un index redenumit este legat de o constrângere PRIMARY KEY, constrângerea PRIMARY KEY este, de asemenea, redenumită automat de sp_rename.

Se aplică SQL Server (toate versiunile acceptate) și Azure SQL Database
sp_rename poate fi utilizat pentru a redenumi indexurile XML primare și secundare.

Se aplică SQL Server (toate versiunile acceptate) și Azure SQL Database
Redenumirea unei proceduri stocate, a unei funcții, a unei vizualizări sau a unui declanșator nu va schimba numele obiect fie în coloana de definiție a vizualizării catalogului sys.sql_modules, fie obținut utilizând funcția încorporată OBJECT_DEFINITION. De aceea, recomandăm ca sp_rename să nu fie folosit pentru a redenumi aceste tipuri de obiecte. În schimb, fixați și recreați obiectul cu noul său nume.

Se aplică SQL Server (toate versiunile acceptate), Azure SQL Database și Azure Synapse Analytics
Redenumirea unui obiect, cum ar fi un tabel sau coloana nu va redenumi automat referințele la acel obiect.Trebuie să modificați manual orice obiecte care fac referire la obiectul redenumit. De exemplu, dacă redenumiți o coloană de tabel și se face referire la acea coloană într-un declanșator, trebuie să modificați declanșatorul pentru a reflecta noul nume de coloană. Utilizați sys.sql_expression_dependencies pentru a lista dependențele de obiect înainte de a-l redenumi.

Se aplică SQL Server (toate versiunile acceptate), Azure SQL Database și Azure Synapse Analytics
Puteți schimba numele unui obiect sau tip de date numai în baza de date curentă. Numele celor mai multe tipuri de date de sistem și obiecte de sistem nu pot fi modificate.

Permisiuni

Pentru a redenumi obiecte, coloane și indici, este necesară permisiunea ALTER pentru obiect. Pentru a redenumi tipurile de utilizatori, este necesar permisiunea CONTROL pentru acest tip. Pentru a redenumi o bază de date, este necesară apartenența la rolurile serverului sysadmin sau dbcreator fixe

Exemple

A. Redenumirea unui tabel

Următorul exemplu redenumește tabelul SalesTerritory în SalesTerr în Sales schemă.

B. Redenumirea unei coloane

Următorul exemplu redenumește coloana TerritoryID din tabelul SalesTerritory în TerrID.

C. Redenumirea unui index

Următorul exemplu redenumește indexul IX_ProductVendor_VendorID la IX_VendorID.

D . Redenumirea unui tip de date alias

Următorul exemplu redenumește tipul de date alias Phone în Telephone.

E. Redenumirea constrângerilor

Următoarele exemple redenumesc o constrângere PRIMARY KEY, o constrângere CHECK și o constrângere FOREIGN KEY. Când redenumiți o constrângere, trebuie specificată schema căreia îi aparține constrângerea.

F. Redenumirea statisticilor

Următorul exemplu creează un obiect statistic numit contactMail1 și apoi redenumește statistica în NewContact utilizând sp_rename. La redenumirea statisticilor, obiectul trebuie specificat în formatul schema.table.statistics_name.

Exemple: Azure Synapse Analytics

G. Redenumirea unei coloane

Următorul exemplu redenumește coloana c1 din tabelul table1 în col1.

Consultați și

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *