Bonjour,
Je suis plus habitué à l'écriture de triggers sous SQL Server que sous Oracle.
Je souhaite faire un trigger "global" (donc pas "for each row").
Lorsque les données inserrées correspondent à certains critères, je souhaite forcer la valeur inserrée.
Voici ce que j'ai tenté d'écrire :
Voici les erreurs que je me prends dans la tête :
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 create or replace TRIGGER WTRIG_EVL ------------------------------------------------------------------------------- -- Trigger : wtrig_evl -- Fichier : ap$triggers:wtrig_evl.sql -- Si on est en train de créer un retour marchandise (V/RET) alors -- l'emplacement de la livraison ne soit pas être repris. On est forcément -- sur un emplacement vide pour remettre en stock non réservé client. ------------------------------------------------------------------------------- -- Auteur : S.DEVIDAL -- Version |Date |Auteur |Objet ------------------------------------------------------------------------------- -- V.1 | 2011-12-05 | S.DEVIDAL |Version initiale ------------------------------------------------------------------------------- BEFORE INSERT ON EVL BEGIN update new set codemp = ' ' where codsoc = 218 and achvte = 'V' and typeve = 'RET'; END;
Erreur(2,4): PL/SQL: SQL Statement ignored
Erreur(2,11): PL/SQL: ORA-00942: table or view does not exist
Pour le première erreur, j'ai aucune idée d'où ça vient.
Et pour la seconde, j'en déduis que "new" n'existe pas... Et ":new" me fait une erreur du même acabit.
Partager