problème d'insertion dans une base SQL Server 2000 Via un trigger
Bonjour,
je travaille sur la base BIJOU de Sage ligne 100, version SQL Server 2000 SP3.
J'ai crée un trigger sur la table F_DOCENTETE. Au moment de l'exécution du déclencheur, je recois le message d'erreur suivant:
Code:
update a échoué car les options SET suivantes comportent des paramètres incorrectes : 'QUOTED_IDENTIFIER'
.
Au niveau de l'analyseur des requêtes, j'ai exécuté le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sp_dboption 'Nom_Base_de_données','arithabort','TRUE'
go
sp_dboption 'Nom_Base_de_données','concat null yields null','TRUE'
go
sp_dboption 'Nom_Base_de_données','quoted identifier','TRUE'
go
sp_dboption 'Nom_Base_de_données','ANSI nulls','TRUE'
go
sp_dboption 'Nom_Base_de_données','ANSI padding','TRUE'
go
sp_dboption 'Nom_Base_de_données','ANSI warnings','TRUE'
go
sp_dboption 'Nom_Base_de_données','numeric roundabort','FALSE'
go |
Voici le code de mon trigger:
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
| [13:15:23] skon a dit : CREATE TRIGGER [CONTROL] ON [dbo].[F_DOCENTETE]
FOR INSERT
AS
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
QUOTED_IDENTIFIER, ANSI_NULLS on
SET NUMERIC_ROUNDABORT off
DECLARE @UT as nvarchar (10)
DECLARE @NB as nvarchar (10)
DECLARE @PR as nvarchar (20)
DECLARE @piece as nvarchar (13)
--Sélectionner l'utilisateur connecté
SET @UT= (SELECT DO_Ref FROM INSERTED)
SET @piece= (SELECT DO_piece FROM INSERTED)
--Vérification de l'existance de dépot pour l'utilisateur connecté
SET @NB= (SELECT COUNT (*) FROM WS_USERDEPOT WHERE Utilisateur=@UT)
IF @NB>0
BEGIN
--Selectionner le depot principale de l'utilisateur
SET @PR=(SELECT Depot FROM WS_USERDEPOT WHERE Utilisateur=@UT and Principal=1)
--Renvoyer le code du depot principal
--Mettre a jour le depot
UPDATE F_DOCENTETE
SET [DE_No] = (SELECT DE_No FROM F_DEPOT WHERE DE_Intitule =@PR)
WHERE F_DOCENTETE.DO_Piece= @piece
END
--Rollback en cas d'erreur
IF @@Error <> 0
ROLLBACK TRANSACTION |
Merci pour votre aide.