bonjour,

voila, j'ai quelques problemes pour executé un trigger avec l'api OCI.

Voici mon code
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
 
CREATE SEQUENCE "ACTION_SOURCE_RID_SEQ" START WITH 1 NOMAXVALUE
 
CREATE TABLE "ACTION_SOURCE" ("RID" NUMBER(22) NOT NULL ,"VERSION" NUMBER(22),"ACT_SRC_CODE" CHAR(5),"ACT_SRC_DESC" CHAR(30),"ACT_SRC_ABBR" CHAR(10), PRIMARY KEY ("RID"))
 
CREATE OR REPLACE TRIGGER "ACTION_SOURCE_UPD" 
 
BEFORE UPDATE ON ACTION_SOURCE
 
  FOR EACH ROW
 
DECLARE
 
  TMP INTEGER;
 
    BEGIN
 
    IF (:NEW.ACT_SRC_CODE <> :OLD.ACT_SRC_CODE) THEN
 
      raise_application_error(-20079, 'Master key violation in ACTION_SOURCE');
 
      END IF;
 
   :NEW.VERSION := :OLD.VERSION + 1;
 
    END;

OCI me met l'erreur suivante
ORA-24344: opÚration rÚussie avec erreur de compilation
et avec toad, il dit ceci:

PLS-00103: Symbole "" rencontré à la place d'un des symboles suivants :

begin function package pragma procedure subtype type use
<identificateur> <identificateur entre guillemets> form
curre


La ou c'est drole, c'est que si j'execute la commande via toad sans rien toucher . elle passe et si je la sauve dnas un fichier sql (avec des ; et des / ) et que je donne cela a sqlplus, tout fonctionne.

qqn aurait il une idée??

merci

a+++