Bonjour,
Je voudrais utiliser un trigger pour executer une procedure stockée à chaque insertion de ligne dans ma table.
Le trigger est sur SQL server 2005 et j'ai fais ma procedure stockée avec visual studio 2005.
Ma procedure stockée fonctionne quand je l'execute depuis visual studio ou encore quand je l'execute depuis SQL server (management studio express) mais quand je passe par le trigger, rien!
De plus mon but, si ça peut aider quelqu'un, est de faire passer une image d'une base ACCESS sur une base SQL, ma procedure stockée le fait très bien.
Voici mon trigger:
DECLARE @project_id int, @elevation_id int, @error int
DECLARE @source varchar(512)
SET @source = 'Data Source=OPW2000P\SQLEXPRESS;Initial Catalog=ChacalPAR;Integrated Security=True'
SET @error = 0
BEGIN TRAN
DECLARE curseurbtblElevationinsert CURSOR FOR SELECT PtrIdProjet, iIdElevation FROM inserted
OPEN curseurbtblElevationinsert
FETCH NEXT FROM curseurbtblElevationinsert INTO @project_id, @elevation_id
WHILE (@@FETCH_STATUS = 0) AND (@error = 0)
BEGIN
IF (ISNULL(@project_id,0) > 0) AND (ISNULL(@elevation_id,0) > 0)
BEGIN
EXECUTE [dbo].[MaStoredProcedure2] @project_id, @elevation_id, @source
SET @error = @error + @@ERROR
END
FETCH NEXT FROM curseurbtblElevationinsert INTO @project_id, @elevation_id
END
CLOSE curseurbtblElevationinsert
DEALLOCATE curseurbtblElevationinsert
IF @error=0 COMMIT TRAN ELSE ROLLBACK TRAN
Ainsi si quelqu'un peut me dire d'où vient mon problème ce serait super sympa.
Si vous voulez d'autre parti de mon code demandez le moi sans hésiter.
Merci![]()
Partager