Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Dans une application, après avoir cliquer sur un bouton par exemple, j'aimerais lancer une procédure stockée mais bien que son exécution ne soit pas finie, j'amerais redonner la main à l'utilisateur sur l'application.
Comment faire ?
Hors ligne
Bonjour,
Il te faut lancer ta procédure via un batch. En fait tu appel une procédure batch qui appellera ta propre procédure.
Exemple de code que nous utilisons :
Côté PB :
declare sp_1 procedure for NOMOS_EVOLUTION.LANCEMENT_BATCH(:ls_nom_procedure, :as_parametre) using sqlca; execute sp_1; commit; //fetch sp_1 into :ls_ret_func; close sp_1; commit;
Code côté PL-SQL :
--------------------------------------------------------------------------------------------- --Procedure qui lance en batch les fonctions passees en parametres ------------------------------------------------------------------------------------------- PROCEDURE LANCEMENT_BATCH (p_nom_procedure in VARCHAR2, p_parametre in VARCHAR2) IS --on passe en parametre le nom de la procedure --et les parametres de la procedure jobno NUMBER; BEGIN DBMS_JOB.SUBMIT(jobno,what=>'NOMOS_EVOLUTION.'||p_nom_procedure||'('||''''||p_parametre||''''||');',next_date => sysdate + (1/(24*60*60)),interval=>''); END LANCEMENT_BATCH;
Liens utiles :
http://www.developpez.net/forums/d42348 … ql-oracle/
http://docs.oracle.com/cd/B28359_01/ser … #CNCPT1413
Bon courage
Hors ligne