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 : Sélectionner tout - Visualiser dans une fenêtre à part 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:
Voici le code de mon trigger:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager