SET ANSI_WARNINGS OFF DECLARE @ExecuteSql nvarchar(4000) IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Client' AND COLUMN_NAME = 'test4') BEGIN BEGIN TRY PRINT @ExecuteSql SET @ExecuteSql = N'ALTER TABLE [Client] ADD [test4] char(40)' EXEC sp_executesql @ExecuteSql SET @ExecuteSql = N'UPDATE [Client] SET [test4]=''''' PRINT @ExecuteSql EXEC sp_executesql @ExecuteSql END TRY BEGIN CATCH Print ERROR_MESSAGE() END CATCH END ELSE BEGIN BEGIN TRY SET @ExecuteSql = N'ALTER TABLE [Client] ADD [test4-Temporary] char(40)' PRINT @ExecuteSql EXEC sp_executesql @ExecuteSql SET @ExecuteSql = N'UPDATE [Client] SET [test4-Temporary]=test4' PRINT @ExecuteSql EXEC sp_executesql @ExecuteSql SET @ExecuteSql = N'ALTER TABLE [Client] DROP COLUMN [test4]' PRINT @ExecuteSql EXEC sp_executesql @ExecuteSql PRINT 'Renaming the field' EXEC sp_RENAME 'Client.test4-Temporary', 'test4' , 'COLUMN' END TRY BEGIN CATCH Print ERROR_MESSAGE() END CATCH ENDBasically, this adds a field into a table.