Bonjour tout le monde
J'ai un script qui génére une erreur que je n'arrive pas à comprendre,
Le voici :
Voila ce qu'il me dit concernant la ligne 'use restauration' :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if exists (select name from master.dbo.sysdatabases where name like 'restauration') begin use master drop database restauration end create database restauration use restauration
J'ai cette erreur si au départ la base restauration n'est pas présente sur le serveur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Impossible de trouver l'entrée dans sysdatabases pour la base de données 'restauration'. Aucune entrée ne porte ce nom. Assurez-vous que le nom est correctement saisi.
En fait j'utilise une base temporaire. A chaque fois que je lance le script, si elle exite je la supprime et ensuite je la crée ou la recrée. Comme ensuite je lui crée des tables je fait une use restauration pour pouvoir travailler dessus.
je ne comprend pas pourquoi il me dit qu'il ne trouve pas la base puisque je la crée juste avant.
Quand j'execute le script en deux fois, il n'y a pas de problème. c'est à dire que je commence par supprimer la base si elle existe puis je la recrée.
Ensuite je fais fais le use séparement et là ça marche.
On dirait que l'analyseur de requête vérifie si la base existe bien avant d'exécuter le script et comme elle n'y est pas il m'envoie une erreur .
Mais ça me paraît bizarre
Merci pour tous conseils
Nicolas
Partager