Last active
March 9, 2023 21:22
-
-
Save cphillips83/01ff11158f58dd6ef4139d58962c0f8d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE @CurrentDataType VARCHAR(max) | |
DECLARE @DataTypeToChange VARCHAR(max) | |
DECLARE @SQLQUERY nvarchar(max) | |
SET @CurrentDataType = 'text' ---CHANGE HERE !! | |
SET @DataTypeToChange = 'nvarchar(max)' ---CHANGE HERE !! | |
DECLARE MY_CURSOR CURSOR | |
LOCAL STATIC READ_ONLY FORWARD_ONLY | |
FOR | |
SELECT ('alter table ' + OBJECT_SCHEMA_NAME(T.[object_id], DB_ID()) + '.' + T.[name] + ' alter column ' + C.[name] + ' ' + @DataTypeToChange + ' ' + CASE | |
WHEN C.[is_nullable] = 0 | |
THEN 'not null ' | |
ELSE 'null ' | |
END) as SQLQUERY | |
FROM sys.[tables] AS T | |
INNER JOIN sys.[all_columns] C ON T.[object_id] = C.[object_id] | |
INNER JOIN sys.[types] DTY ON C.[system_type_id] = DTY.[system_type_id] | |
AND C.[user_type_id] = DTY.[user_type_id] | |
WHERE T.[is_ms_shipped] = 0 | |
AND DTY.NAME = '' + @CurrentDataType + '' | |
ORDER BY T.[name] | |
,C.[column_id] | |
OPEN MY_CURSOR | |
FETCH NEXT FROM MY_CURSOR INTO @SQLQUERY | |
WHILE @@FETCH_STATUS = 0 | |
BEGIN | |
--Do something with Id here | |
PRINT @SQLQUERY | |
EXECUTE sp_executesql @SQLQUERY | |
FETCH NEXT FROM MY_CURSOR INTO @SQLQUERY | |
END | |
CLOSE MY_CURSOR | |
DEALLOCATE MY_CURSOR | |
GO | |
DECLARE @CurrentDataType VARCHAR(max) | |
DECLARE @DataTypeToChange VARCHAR(max) | |
DECLARE @SQLQUERY nvarchar(max) | |
SET @CurrentDataType = 'ntext' ---CHANGE HERE !! | |
SET @DataTypeToChange = 'nvarchar(max)' ---CHANGE HERE !! | |
DECLARE MY_CURSOR CURSOR | |
LOCAL STATIC READ_ONLY FORWARD_ONLY | |
FOR | |
SELECT ('alter table ' + OBJECT_SCHEMA_NAME(T.[object_id], DB_ID()) + '.' + T.[name] + ' alter column ' + C.[name] + ' ' + @DataTypeToChange + ' ' + CASE | |
WHEN C.[is_nullable] = 0 | |
THEN 'not null ' | |
ELSE 'null ' | |
END) as SQLQUERY | |
FROM sys.[tables] AS T | |
INNER JOIN sys.[all_columns] C ON T.[object_id] = C.[object_id] | |
INNER JOIN sys.[types] DTY ON C.[system_type_id] = DTY.[system_type_id] | |
AND C.[user_type_id] = DTY.[user_type_id] | |
WHERE T.[is_ms_shipped] = 0 | |
AND DTY.NAME = '' + @CurrentDataType + '' | |
ORDER BY T.[name] | |
,C.[column_id] | |
OPEN MY_CURSOR | |
FETCH NEXT FROM MY_CURSOR INTO @SQLQUERY | |
WHILE @@FETCH_STATUS = 0 | |
BEGIN | |
--Do something with Id here | |
PRINT @SQLQUERY | |
EXECUTE sp_executesql @SQLQUERY | |
FETCH NEXT FROM MY_CURSOR INTO @SQLQUERY | |
END | |
CLOSE MY_CURSOR | |
DEALLOCATE MY_CURSOR |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment