bonjour,
Je voudrais écrire un script SQL qui puisse être exécuté plusieurs fois sans erreurs. A la fin du script, on supprime une colonne.
Si on exécute une 2eme fois, ca envoie une erreur indiquant que la colonne n'existe pas. Normal ..... sauf que j'ai mis un test "if exists (SELECT * FROM INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME="macolonne")"
Et là, je ne comprends plus
a l'exécution l'erreur suivante remonte:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if exists(SELECT * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_CATALOG='cat1' and TABLE_SCHEMA='schema1' and TABLE_NAME='table1' and COLUMN_NAME='NiveauPyramide') BEGIN --traitement utilisant la colonne 'NiveauPyramide' update table2 set col1= ... where table1.NiveauPyramide --suppression de la colonne alter table schema1.table1 drop column NiveauPyramide END GO
Msg*207, Niveau*16, État*1, Ligne*17
Nom de colonne non valide*: 'NiveauPyramide'.
Partager