Robert Stewart
rls at WeBeDb.com
Fri Jan 27 11:54:42 CST 2012
For whatever reason, my original post of this never seems to appear on the results from the list. While I do not advocate using cursors 99% of the time, there are times that they are what you should use. This will make the code easier to read, and it will work smooth. CREATE PROCEDURE dbo.usp_AddTimestamp AS BEGIN SET NOCOUNT ON; DECLARE @TableName VARCHAR( 128 ) , @Sql NVARCHAR( 4000 ) DECLARE curTableList CURSOR FOR SELECT name FROM sysobjects WHERE [TYPE] = 'U' ORDER BY name OPEN curTableList FETCH next FROM curTableList INTO @TableName WHILE @@FETCH_STATUS = 0 BEGIN SET @Sql = N'ALTER TABLE dbo.' + @TableName + ' ADD Timestamp' EXEC sp_executesql @Sql FETCH next FROM curTableList INTO @TableName END CLOSE curTableList DEALLOCATE curTableList END GO