>Without including all of the peripheral code, I am trying to do an ALTER TABLE command using an argument in a cursor. ALTER TABLE does not seem to like the argument. Any ideas??
>
> SET @KeyID = @TableName + '_KeyID'
> ALTER TABLE @TableName ADD @KeyID INT IDENTITY(1,1) PRIMARY KEY NOT NULL
Rollin,
You have to use dynamic sql to use a variable as the object name:
DECLARE @Sql nvarchar(4000)
SET @KeyID = @TableName + '_KeyID'
SET @Sql = N'ALTER TABLE ' + @TableName + ' ADD ' + @KeyID + ' INT IDENTITY(1,1) PRIMARY KEY NOT NULL'
EXEC (@Sql)