ALTER PROCEDURE proc_enregistreemprunt
(
@titredoc nvarchar,
@nomemp nvarchar,
@prenomemp nvarchar,
@dateemprunt datetime
)
AS
declare @idemp int
declare @idobj int
SELECT @idemp=id FROM emprunteur WHERE nom=@nomemp AND prénom=@prenomemp
if (isnull(@idemp,0)=0)
begin
raiserror('@idemp null...',16,1)
SET @RETURN = -1
return @RETURN
end
SELECT @idobj=id FROM documents WHERE titre=@titredoc
if (isnull(@idobj,0)=0)
begin
raiserror('@idobj null...',16,1)
SET @RETURN = -1
return @RETURN
end
declare @etat bit
declare @RETURN AS int;
SET @Etat = (SELECT TOP 1 Rendu FROM Emprunt WHERE IdDocument=@idobj ORDER BY dateemprunt DESC)
IF @Etat = 1 OR @Etat IS NULL /* s'il y a pas de ligne ou que l'objet est rendu */
Begin
INSERT INTO emprunt
(idDocument,Idemprunteur,dateemprunt)
VALUES (
@idobj,
@idemp,
@dateemprunt /* Current_TimeStamp, */
/* Val à 0*/
)
SET @RETURN=@@identity /* Retourne le numéro de la nouvelle ligne */
end
else
begin
SET @RETURN = 0
end
RETURN @RETURN__________________
Partager