[T-SQL] Dodanie IDENTITY

Mam:

CREATE TABLE dbo.Tool(

   ID int NOT NULL PRIMARY KEY, 

   Name varchar(30) NOT NULL

)

I chciałbym do ID dodać IDENTITY. Jest na to jakiś sposób bez tworzenia nowej tabeli tymczasowej i kopiowania danych? :roll:

http://stackoverflow.com/questions/1049 … ing-column

No czyli się nie da…

Czyli się da

CREATE TABLE Test

(

id int identity(1,1),

somecolumn varchar(10)

);

INSERT INTO Test VALUES (‘Hello’);

INSERT INTO Test VALUES (‘World’);

– copy the table. use same schema, but no identity

CREATE TABLE Test2

(

id int NOT NULL,

somecolumn varchar(10)

);

ALTER TABLE Test SWITCH TO Test2;

– drop the original (now empty) table

DROP TABLE Test;

– rename new table to old table’s name

EXEC sp_rename ‘Test2’,‘Test’;

– see same records

SELECT * FROM Test;

Musisz co najmniej przepisać id do nowej tabeli. Inaczej nie da rady.