57 Stimmen

Wie benennt man Spaltennamen mit T-SQL um?

Ich brauche Hilfe bei SQL Server Table Column. Ich versuche, Column Name umzubenennen, aber das funktioniert nicht.

USE COST_mesta_test
GO
EXEC sp_rename '[dbo].[1965$].obec' , 'people' , 'COLUMN'
GO

Ich habe verschiedene Kombinationen von Klammern [] und Pfad zur Tabelle "obec" ausprobiert (zum Beispiel: 1965.obec; 1965$.obec; 1965.[obec]; usw.) Aber ich erhalte immer noch einen Fehler:

Entweder ist der Parameter @objname zweideutig oder der angegebene @objtype (COLUMN) ist falsch.

107voto

Beno Punkte 4483

Ich verstehe nicht wirklich, wie Ihre Tabelle eingerichtet ist - d.h. der Tabellenname, der Spaltenname usw. - also ist dies ein Beispiel dafür, wie der proc für Spaltenumbenennungen funktioniert:

Wenn ich so einen Tisch hätte:

CREATE TABLE [dbo].[Company](
[ID] [int],
[CompanyName] [varchar](20)
)

und wollte die [CompanyName] Spalte ist dies der Befehl:

EXEC sys.sp_rename 
    @objname = N'dbo.Company.CompanyName', 
    @newname = 'Name', 
    @objtype = 'COLUMN'

Ich vermute, dass Ihr erstes Argument nicht richtig ist.

Aus der Dokumentation ( sp_rename (Transact-SQL) )

Wenn das umzubenennende Objekt eine Spalte in einer Tabelle ist, muss object_name die Form table.column o schema.tabelle.spalte . Handelt es sich bei dem umzubenennenden Objekt um einen Index, muss object_name in der Form table.index oder schema.table.index vorliegen.

4voto

Kamran Bigdely Punkte 7228

Sie können den Spaltennamen auch ändern, indem Sie mit der rechten Maustaste auf den Spaltennamen klicken und die Option "Umbenennen" im Objekt-Explorer wählen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X