blog.icewolf.ch

Let's talk about IT!
posts - 1893, comments - 295, trackbacks - 0

My Links

Archives

Post Categories

icewolf

SQL Table - forgotten to set IDENTITY

Hallo zusammen

Ich hatte vor einiger Zeit auf einem SQL Server eine Tabelle angelegt und ein ID Feld definiert, jedoch die Spalte nicht als IDENTITY markiert und dann fleissig Daten abgespeichert.

Nun wollte ich die Spalte als IDENTITY markieren, dies ist aber in einer Tabelle mit Daten nicht möglich.

Also schwupps, die Daten in eine temporäre Tabelle kopieren.

SELECT fSubject, fMessage ,fDatum INTO ##FUN FROM tFun ORDER BY fDatum ASC 

(##Temporäre Tabellen werden in der tempdb angelegt, wie man hier sehr schön sehen kann)

Die alte Tabelle löschen.

DROP TABLE tFUN

Die Tabelle nun mit IDENTITY anlegen.

CREATE TABLE [dbo].[tFun](
 [fID] [int] IDENTITY(1,1) NOT NULL,
 [fSubject] [nchar](60) NOT NULL,
 [fMessage] [ntext] NOT NULL,
 [fDatum] [datetime] NOT NULL
 )

Die Daten aus der temporären Tabelle zurück kopieren.

INSERT tFunNEW (fSubject, fMessage, fDatum) SELECT * FROM ##fun

So, nur noch Aufräumen und die temporäre Tabelle wieder löschen.

DROP TABLE ##fun
Grüsse
Andres Bohren

Print | posted on Wednesday, December 23, 2009 1:39 PM | Filed Under [ SQL ]

Powered by:
Powered By Subtext Powered By ASP.NET