bonsoir,
comment créer un trigger et l'executer avec java.
est ce que kom les requètes est ce que autre chose.
j'ai créer 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
15
16
17
String req="create or replace trigger mytrigger" +
	      			" after insert or update on ATTRIBUTPERSONNALISATION"+
	    	        "for each row"+
	    	        "declare  " +
	    	        "x VARCHAR2(254);  " +
	    	        "y VARCHAR2(254);"+
	    	        "begin"+
	    	        "select intitule" +
	    	        " into x " +
	    	        "from ATTRIBUTPERSONNALISATION " +
	    	        "where intitule = :new.intitule;"+
	    	        "select intitule into y from PRODSERVSOL  where intitule = :new.intitule;"+
	    	        "if x!=y then    " +
	    	        "raise_Application_error(-20330, 'multiplicite violee');"+
	    	        "end if;"+
	    	        "end mytrigger;";  
stmt1.executeQuery(req);
mais il m'affiche le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
java.sql.SQLException: ORA-04079: spécification de déclencheur erronée
 
	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
	at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
	at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
	at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
	at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
	at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
	at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
	at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:653)
	at package1.coherence.main(coherence.java:48)