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:
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:
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.