Bonjour,
Je réalise un script qui dois migrer des bases de données.
A l'époque le suivi des versions étaient très mauvais. Par conséquent la table "maTable" contient toujours "colonne1", "colonne2", mais parfois, elle contient "colonne3".
J'avais donc pensé à ce script de migration
Malheureusement, ce script ne marche pas car si je suis dans le cas où ma colonne n'existe pas, il me génère tout de même une erreur lorsque le SGBD analyse l'existence des colonnes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 /* Soit colonne3_existe un booléen à vrai quand la colonne 3 existe */ /* colonne3_existe est parfaitement initialisé à la bonne valeur */ IF @colonne3_existe INSERT INTO ancienne_base.dbo.maTable (colonne1,colonne2,colonne3) SELECT n.colonne1,n.colonne2,n.colonne3 FROM nouvelle_base.dbo.maTable ELSE INSERT INTO ancienne_base.dbo.maTable (colonne1,colonne2) SELECT n.colonne1,n.colonne2 FROM nouvelle_base.dbo.maTable
Avez-vous une idée ?
Partager