2011-01-07 5 views
-1

Vor dem Posten dieser Frage habe ich so viele Dinge ausprobiert, aber das war nicht hilfreich für mich. Ich möchte auf SQL Server 2005, die Spalte der Tabelle umbenennen folgende Abfrage ich SQL Server2005 ausgeführt haben:SQL Server 2005 Abfrage nicht ausgeführt

1) ALTER TABLE Details RENAME COLUMN AccountID TO UID; but it gives me the error: Incorrect syntax near the keyword 'COLUMN'.

2)I have added one new column in the table by query: ALTER TABLE Details ADD BID uniqueidentifier; and then I want to set the coulmn property to not null .

Wie kann ich das tun?

Vielen Dank im Voraus AS

Antwort

4

Verwendung sp_Rename 'TableName.Column', 'NewColumnName', 'COLUMN'.

Um Ihre zweite Teil der Frage zu tun, was Sie tun müssen:

ALTER TABLE myTable 
     ADD myColumn UNIQUEIDENTIFIER NOT NULL DEFAULT 'some default value' 

Wenn Sie nicht über einen Standardwert angeben möchten, werden Sie müssen zunächst die Spalte erstellen mit NULL. Sobald die Spalte erstellt wurde, können Sie die gewünschten Werte eingeben und die Spalte dann erneut in NOT NULL ändern.

2

1) Anstatt ALTER TABLE zu verwenden, warum nicht sp_rename verwenden? Zum Beispiel:

EXEC sp_rename 'Details.[AccountID]', 'title', 'UID' 

2) können Sie verwenden ALTER TABLE Details ALTER COLUMN BID NOT NULL, aber Sie werden wahrscheinlich wollen auch einen Standardwert für sie angeben, wenn die Tabelle bereits Daten enthält.