J'ai un script avec une instruction Alter Column
qui change le type de données d'un Bigint
à un Varchar
. Immédiatement après, je dois appeler Substring()
sur cette colonne.Comment puis-je modifier le type de données d'une colonne, puis effectuer des actions sur ce nouveau type dans le même script dans SQL Server?
Malheureusement, le vérificateur de syntaxe de SQL Server ne me laisse pas faire cela. Je dois ajouter une instruction 'GO' pour séparer les commandes. Le problème avec ceci est, j'ai également besoin d'inclure IF
-conditions dans mon script, et l'ajout d'une instruction GO
va casser le bloc IF
afin qu'il n'existe plus dans la même portée et casse la logique de mon code.
Est-il possible de le faire:
Alter Table MyTable
Alter Column MyColumn varchar(25)
GO
Update MyTable
Set MyColumn = Substring(MyColumn, 0, 5)
sans utiliser le mot GO
?
Êtes-vous absolument certain que vous devez modifier cette table? Pourquoi ne pas convertir BigInt en Varchar, puis utiliser la sous-chaîne? – lexu
Je dois absolument changer la table. Je n'ai aucun moyen de m'en sortir. –