Ich verwende SQL Server 2008 und Navicat. Ich muss eine Spalte in einer Tabelle mit SQL umbenennen.
ALTER TABLE table_name RENAME COLUMN old_name to new_name;
Diese Aussage funktioniert nicht.
Ich verwende SQL Server 2008 und Navicat. Ich muss eine Spalte in einer Tabelle mit SQL umbenennen.
ALTER TABLE table_name RENAME COLUMN old_name to new_name;
Diese Aussage funktioniert nicht.
Alternativ zu SQL
können Sie dies in Microsoft SQL Server Management Studio tun. Hier sind ein paar schnelle Möglichkeiten, die GUI zu verwenden:
Langsamer Doppelklick auf die Spalte. Der Spaltenname wird zu einem editierbaren Textfeld.
Klicken Sie mit der rechten Maustaste auf die Spalte und wählen Sie Umbenennen aus dem Kontextmenü.
Zum Beispiel:
Dieser Weg ist vorzuziehen, wenn Sie mehrere Spalten auf einmal umbenennen müssen.
Zum Beispiel:
<strong>HINWEIS: </strong>Ich weiß, dass OP speziell nach einer SQL-Lösung gefragt hat, aber ich dachte, das könnte anderen helfen :)
Sie sollten auch das Schema der Tabelle angeben, da Sie sonst diesen Fehler erhalten könnten:
M Parameter @objname ist mehrdeutig oder der angegebene @objtype (COLUMN) ist falsch.
Wenn es sich um ein Deployment-Skript handelt, würde ich auch empfehlen, es mit zusätzlichen Sicherheitsmaßnahmen zu versehen.
IF EXISTS (
SELECT 1
FROM sys.columns
WHERE
name = 'OldColumnName' AND
object_name(object_id) = 'TableName'
) AND
NOT EXISTS (
SELECT 1
FROM sys.columns
WHERE
name = 'NewColumnName' AND
object_name(object_id) = 'TableName'
)
EXEC sp_RENAME 'SchemaName.TableName.OldColumnName', 'NewColumnName', 'COLUMN';
Sie können verwenden sp_rename
um eine Spalte umzubenennen.
USE YourDatabase;
GO
EXEC sp_rename 'TableName.OldColumnName', 'NewColumnName', 'COLUMN';
GO
Der erste Parameter ist das zu ändernde Objekt, der zweite Parameter ist der neue Name, der dem Objekt gegeben wird, und der dritte Parameter KOLUMNE teilt dem Server mit, dass die Umbenennung für den column
und kann auch zum Umbenennen verwendet werden tables
, index
y alias data type
.
Es wäre ein guter Vorschlag, eine bereits eingebaute Funktion zu verwenden, aber es gibt auch eine andere Möglichkeit, sie zu umgehen:
Der Vorteil der Verwendung des sp_rename
ist, dass es sich um alle damit verbundenen Beziehungen kümmert.
Von der Dokumentation :
sp_rename benennt automatisch den zugehörigen Index um, wenn ein PRIMARY KEY oder eine UNIQUE-Beschränkung umbenannt wird. Wenn ein umbenannter Index an eine PRIMARY KEY-Beschränkung gebunden ist, wird die PRIMARY KEY-Beschränkung ebenfalls automatisch von sp_rename umbenannt. sp_rename kann zum Umbenennen von primären und sekundären XML-Indizes verwendet werden.
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.