Lors d'utilisation d'outil générique de création de tables de données, on peut se retrouver avec des type de données qui doivent être changé pour améliorer les performances.
De ce fait, ce script permet d'effectuer ce changement de type automatiquement sur tous les champs ayant le nom fourni.
Source / Exemple :
USE [MaBase]
GO
DECLARE @NewType AS VARCHAR(50)
DECLARE @ColumnName AS VARCHAR(50)
DECLARE @SQLCMD AS VARCHAR(MAX)
SET @NewType = 'VARCHAR(14)'
SET @ColumnName = 'MONCHAMP'
DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 'ALTER TABLE ['+ TABLE_SCHEMA +'].['+ TABLE_NAME +'] ALTER COLUMN '+ COLUMN_NAME +' '+ @NewType
FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = @ColumnName
OPEN CURSORLISTCHEMA
FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
WHILE (@@fetch_status >= 0)
BEGIN
PRINT @SQLCMD
EXECUTE(@SQLCMD)
FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
END
CLOSE CURSORLISTCHEMA
DEALLOCATE CURSORLISTCHEMA
Conclusion :
Bon coding
Romelard Fabrice [MVP]
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.