DECLARE @script TABLE ( scriptstr VARCHAR(MAX) ) DECLARE @scriptstr VARCHAR(MAX)= 'Use InmateTrustfundx' + CHAR(13) + CHAR(10) DECLARE @guids TABLE ( tbl VARCHAR(100) , tblid INT , col VARCHAR(100) , colid INT ) DECLARE @tbl VARCHAR(100) DECLARE @col VARCHAR(100) DECLARE @colid INT DECLARE @tblid INT INSERT INTO @guids SELECT tables.name , tables.OBJECT_ID , col.name , col.column_id FROM sys.columns col JOIN sys.tables ON col.object_id = tables.OBJECT_ID WHERE system_type_id = 175 AND max_length = 36 ORDER BY tables.name , column_id WHILE EXISTS ( SELECT * FROM @guids ) BEGIN SELECT TOP 1 @tbl = tbl , @col = col , @tblid = tblid , @colid = colid FROM @guids SELECT @scriptstr = @scriptstr + CHAR(13) + CHAR(10) + 'Alter Table ' + @tbl + CHAR(13) + CHAR(10) SELECT @scriptstr = @scriptstr + CHAR(13) + CHAR(10) + 'Alter Column ' + @col + ' Uniqueidentifier ' IF @col LIKE 'cid%' BEGIN SELECT @scriptstr = @scriptstr + ' NOT NULL ' + CHAR(13) + CHAR(10) END ELSE BEGIN SELECT @scriptstr = @scriptstr + ' NULL ' + CHAR(13) + CHAR(10) END DELETE FROM @guids WHERE tblid = @tblid AND colid = @colid SELECT @scriptstr = @scriptstr + 'GO' + CHAR(13) + CHAR(10) END RETURN
Use InmateTrustfundx Alter Table account_credits Alter Column cid Uniqueidentifier NOT NULL GO Alter Table account_credits Alter Column cinmates_id Uniqueidentifier NULL GO Alter Table account_debits Alter Column cpurchases_id Uniqueidentifier NULL GO Alter Table account_debits Alter Column cshiftlog_id Uniqueidentifier NULL GO Alter Table account_debits Alter Column cbank_checks_id Uniqueidentifier NULL GO ...