[SQL2K][T-SQL]Syntaxe des procédures stockées ?
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 ?
Code:
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 |
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
Merci