• 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

    http://www.before0day.com

    http://www.MikeEvanchik.com