SET @ExecuteSql = N'ALTER TABLE [Client] ADD [test4] char(40) DEFAULT ('''')'Also, wouldn't varchar(40) better choice for the column?
>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 > END >>