
---exemple complet

loadjava -user soutou/ingres@cxbdsoutou -verbose ExempleComplet.java


CREATE OR REPLACE PROCEDURE ProgPrincipal (p1 IN VARCHAR2, p2 IN VARCHAR2, p3 IN VARCHAR2)
AS LANGUAGE JAVA NAME 'ExempleComplet.main(java.lang.String[])';
/
CREATE OR REPLACE FUNCTION procdureDoubleEmploi (p1 VARCHAR2, p2 VARCHAR2) RETURN NUMBER
AS LANGUAGE JAVA 
NAME 'ExempleComplet.insereEtCompteComp(java.lang.String,java.lang.String) return int';
/

SET SERVEROUTPUT ON SIZE 5000
CALL DBMS_JAVA.SET_OUTPUT(5000);
CALL ProgPrincipal('SQL', 'Oracle', 'Super!');


SET SERVEROUTPUT ON SIZE 5000
CALL DBMS_JAVA.SET_OUTPUT(5000);
VARIABLE g_rsultat NUMBER;
CALL procdureDoubleEmploi ('SQL', 'Oracle AirLines') INTO :g_rsultat;
PRINT g_rsultat;

--Paquetage
DROP PROCEDURE ProgPrincipal;

DROP FUNCTION procdureDoubleEmploi;

CREATE OR REPLACE PACKAGE PaquetageJava IS
   PROCEDURE ProgPrincipal (p1 IN VARCHAR2, p2 IN VARCHAR2, p3 IN VARCHAR2);
	FUNCTION procdureDoubleEmploi (p1 VARCHAR2, p2 VARCHAR2) RETURN NUMBER;
END PaquetageJava;
/
CREATE OR REPLACE PACKAGE BODY PaquetageJava IS
	PROCEDURE ProgPrincipal (p1 IN VARCHAR2, p2 IN VARCHAR2, p3 IN VARCHAR2)
		AS LANGUAGE JAVA NAME 'ExempleComplet.main(java.lang.String[])';
	FUNCTION procdureDoubleEmploi (p1 VARCHAR2, p2 VARCHAR2) RETURN NUMBER
		AS LANGUAGE JAVA 
	NAME 'ExempleComplet.insereEtCompteComp(java.lang.String,java.lang.String) return int';
END PaquetageJava ;
/


SET SERVEROUTPUT ON SIZE 5000
CALL DBMS_JAVA.SET_OUTPUT(5000);
CALL PaquetageJava.ProgPrincipal('SQL', 'Oracle', 'Super!');