Il me sort que mon rollback n'a pas de begin transaction correspondant :
CREATE PROCEDURE LierRequetes @idparent as int , @idfils as int
-- Relier les 2 requêtes apres avoir verifier que le fils n'a pas deja un pere + ajout dans l'historique
as
declare @request1 as int
declare @request2 as int
declare @intErrorCode as int
declare @admin as int
declare @hdu as int
BEGIN TRAN
select @request1=idlien from requetes where id=@idfils
SELECT @intErrorCode = @@ERROR
IF ( @intErrorCode<>0) GOTO PROBLEM
else
select @admin =currentadmin from requetes where id=@idfils
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0) GOTO PROBLEM
else
select @hdu =currenthelpdesk from requetes where id=@idfils
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0) GOTO PROBLEM
else
update requetes set idlien=@idparent where id=@idfils
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0 ) GOTO PROBLEM
else
insert into historique values (@idfils,@admin,@hdu,'lien',getdate())
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0 ) GOTO PROBLEM
else
select @admin =currentadmin from requetes where id=@idparent
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0) GOTO PROBLEM
else
select @hdu =currenthelpdesk from requetes where id=@idparent
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0) GOTO PROBLEM
else
insert into historique values (@idparent,@admin,@hdu,'lien',getdate())
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode <> 0) GOTO PROBLEM
else
COMMIT TRAN
PROBLEM:
BEGIN
PRINT 'Une erreur s est produite ! '
ROLLBACK
END
GO
Merci pour votre aide