D'abord, j'ai besoin de vérifier si spOBJ_CopyInspectiontask
a des erreurs, s'il n'y a pas d'erreurs, seulement ensuite procéder à l'instruction d'insertion.Appel de procédure à l'intérieur de la procédure
DECLARE @tblSystemId TABLE
(
OldSysId int, NewSysId int,
OldTaskId int, NewTaskId int,
TaskObjectIds varchar(max) null
);
INSERT INTO @tblSystemId (OldSysId , NewSysId, OldTaskId, NewTaskId, TaskObjectIds)
EXEC dbo.spOBJ_CopyInspectiontask @UserId, @TargetCustomerId, @TargetContractId, @TargetSiteId, @SourceCustomerId, @OldTaskId, @SystemName, @Checkall, @CopyReports, @Return OUTPUT, @ObjectIds OUTPUT;
Comment puis-je vérifier cela?
Par défaut dans la transaction implicite pour insérer MS SQL Server doit être démarré. Donc, en cas d'erreurs lors de l'appel à dbo.spOBJ_CopyInspectiontask, toute la transaction sera annulée et aucune ligne insérée dans @tblSystemId par cette instruction. Pourquoi n'êtes-vous pas satisfait du comportement par défaut que j'ai décrit ci-dessus? –