Bonjour @ tous
Voila, je suis en train de coder une procédure stockée sur MS SQL 2000
J'ai un soucis avec des IF imbriqués, j'ai toujours un "Else" ou un "End" en trop quelque part mais je ne comprend pas bien mon erreur. Quelqu'un pourrait-il éclairer ma lanterne s'il vous plait ?
C'est sans doute une erreur toute bête, je le sent mais comme sa fait quelques heures que j'ai le nez dessus. Le conseil d'un oeil "neuf" m'aiderai beaucoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 SET ANSI_NULLS ON GO CREATE PROCEDURE RESTITUER_FILM @idstock INT AS DECLARE @msgerreur VARCHAR(128) /* on recherche l'exemplaire dans la table de stock */ BEGIN if exists (select * from dbo.stock where idStock = @idstock) /* On vérifie que l'exemplaire rendu est présent dans la table location */ BEGIN if not exists ( select retour from dbo.location where LidStock = @idstock and retour != getdate()) /* On met à jour la date de retour */ BEGIN UPDATE location SET retour = getDate() WHERE LidStock = @idstock Print 'Date de retour de l exemplaire mis à jour' End /* On vérifie si il y a des relances associées à cet exemplaire */ BEGIN If exists (select * from relance, location where RidLoc = idLoc and LidStock = @idstock) /* On supprime les relances */ Begin delete from dbo.relance where RidLoc = ( select idLoc from dbo.location where LidStock = @idStock) End Else Print 'Cet exemplaire ne fait pas l objet de relance' End Else Print 'Cet exemplaire n est pas présent dans la liste des Locations !' End Else Print 'Cet exemplaire n existe pas dans la liste des Stocks !' End
Merci
Partager