bnojour,
je veux savoir comment faire une méthode java appéle dans le code d'un triger dans oracle ??
j'ai essayé de le faire mais ça n'a pas marché.
SVp est ce que quelqu'un a une idéé???
bnojour,
je veux savoir comment faire une méthode java appéle dans le code d'un triger dans oracle ??
j'ai essayé de le faire mais ça n'a pas marché.
SVp est ce que quelqu'un a une idéé???
bonjour
suis les etapes:
1*création d'un programme java comme suite:
2*création d'une fonction attachée au programme java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 create or replace and compile java source named salutation AS public class salut { public static String salut_moi() { return "Hello Hello Hello Hello Hello me!"; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE OR REPLACE FUNCTION salut_moi_fonction RETURN VARCHAR2 IS LANGUAGE JAVA NAME 'salut.salut_moi() return String';
3*tu peux maintenant l'exploiter soit dans une procédure/fonction soit à l'aide une select..
bon courage
Code : Sélectionner tout - Visualiser dans une fenêtre à part select salut_moi_fonction FROM DUAL;
d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
ça encourage.
bnsoir!
Voila le code que je veux faire
1-le code java : la methode
Code Java : 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 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class TriggerJava { public static void testSalaire (int empID, float nvData) throws SQLException { Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO controle VALUES (?, ?)"; try { PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, empID); pstmt.setFloat(2, nvData); pstmt.executeUpdate(); pstmt.close(); } catch (SQLException e) {System.err.println(e.getMessage());} } }
2-la publication de la méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE OR REPLACE PROCEDURE test_salaire ( empid NUMBER, nvsalaire NUMBER) AS LANGUAGE JAVA NAME triggerJava.testSalaire(int,float);
3-on crée la table controle
4-Enfin, il faut définir le déclencheur, que nous appelons sal_trig. C’est un déclencheur de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE TABLE controle ( empid NUMBER, salaire NUMBER);
mise à jour qui est évalué à chaque mise à jour de la colonne sal.
5-Vérifions maintenant que le trigger trigger_salaire et la procédure stockée test_salaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE OR REPLACE TRIGGER trigger_salaire AFTER UPDATE OF sal ON emp FOR EACH ROW WHEN (new.sal > 10000) CALL test_salaire(:new.empno, :new.sal)
remplissent leur rôle. Le script suivant augmente de 20 %
le salaire de chaque employé. La table Controle contient alors tous les employés dont le
salaire est supérieur à 10 000 après augmentation.
Mais lorsque je tape cette commande voila le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE emp SET sal = sal*1.2;
SVP quelqu'un a une idéejava not installed
Error during execution of trigger
et Merci
voici les liens,ca va t'aider
http://janela.lirmm.fr/~lin/sites/de..._M1_1011_1.pdf
http://docs.oracle.com/cd/B19306_01/...187/chfive.htm
d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
ça encourage.
tu trouve ci-joint la solution.
j'ai pas pu la publier directement.
j'attend ton feedback.
d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
ça encourage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager