Sql server 2005 - changer le type de donnees de toutes les colonnes ayant un nom fourni

Contenu du snippet

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]

A voir également

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.