or just do this
procedure [dbo].[MakeIndendity](@identityField varchar(50), @fieldsDeclare varchar(255),@fieldsSelect varchar(255),@tableName varchar(50))
as
Begin
EXEC('CREATE TABLE Tmp_tbl(' + @fieldsDeclare + ')')
SET IDENTITY_INSERT Tmp_tbl ON
EXEC('INSERT INTO Tmp_tbl (' + @fieldsSelect + ') SELECT ' + @fieldsSelect + ' FROM ' + @tableName + ' TABLOCKX')
SET IDENTITY_INSERT Tmp_tbl OFF
EXEC('DROP TABLE ' + @tableName)
EXECUTE sp_rename N'Tmp_tbl', N@tableName, 'OBJECT'
EXEC('ALTER TABLE [dbo].' + @tableName + ' WITH NOCHECK ADD CONSTRAINT [PK_' + @tableName + '] PRIMARY KEY CLUSTERED (' + @identityField + ') WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 95) ON [PRIMARY];')
End
be better to just pass the table and the column and figure loop the fields itself but i was too lazy i guess
Michael Evanchik
Microsoft MVP