Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1112 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  procédures stockées Oracle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

procédures stockées Oracle

n°1024064
xasyl
Posté le 24-03-2005 à 19:40:23  profilanswer
 

Bonjour
j'ai un petit souci avec mes procédures stockées  
Environnement Oracle9i à l'école  
TableSpace temp
 
j'ai un package où il y a 1 fonction et 1 procedure
(la proc appelle la fonction)
et une procedure stockée (qui appelle la proc du package)
 
Mon souci : je compile mon package et ma proc. Je teste OK cela fonctionne.
Je quitte ma session , je me reconnecte (à priori mes procs sont tjs là) je lance ma proc : elle s'éxécute mais n'affiche rien ... :??:  
 
sources :  
 
SET SERVEROUTPUT ON
CREATE OR REPLACE PACKAGE BODY pack
IS
--fonction retournant le nombre de dragons
FUNCTION nbDragons RETURN NUMBER IS
 
 
 --variables
 nb  NUMBER;
 
 --debut
 BEGIN
  SELECT COUNT(*) INTO nb
  FROM NOURRITURES;
   
  RETURN nb;
 
 END nbDragons;
 
PROCEDURE affiche IS
 
 BEGIN
  DBMS_OUTPUT.PUT_LINE('Test : ' || TO_CHAR(nbDragons()));
 END affiche;
   
 
et la procedure stockée :
 
SET AUTOCOMMIT OFF
SET SERVEROUTPUT OFF
 
SET TRANSACTION READ WRITE SERIALIZABLE
 
CREATE OR REPLACE PROCEDURE trans
(
 prod IN NOURRITURES.Produit%TYPE,
 cal IN NOURRITURES.Calories%TYPE
 
)
 
IS  
 
 BEGIN
  INSERT INTO NOURRITURES(Produit,Calories)
  VALUES(prod,cal);
  COMMIT;
--  ROLLBACK;  
   pack.affiche;
 END;
/
 
Merci d'avance je suis un novice

mood
Publicité
Posté le 24-03-2005 à 19:40:23  profilanswer
 

n°1024113
xasyl
Posté le 24-03-2005 à 20:32:37  profilanswer
 

en fait dès que je me reconnecte sur ma session mon package et ma proc sont là mais je suis obligé de les recompiler pour que mes résultats s'affichent.
Sinon si je ne recompile pas la proc s'execute mais n'affiche rien :??:

n°1025047
moi23372
Posté le 25-03-2005 à 17:02:57  profilanswer
 

petite question:
- est ce que oracle met ton package à l'état "invalide"?
=> si c'est le cas, il y a sans doute une objet dans ta base qui le fait passé à invalide...
 
- c'est un problème que j'ai déjà rencontré avec le logiciel TOAD. Tu utilises quel interface pour compiler ton package???

n°1026024
xasyl
Posté le 26-03-2005 à 12:18:20  profilanswer
 

non bizrrement mon package est "valide" mais ma proc est elle "invalide" et pourtant je les comile de la même façon (@nom_du_fichier.sql)
J'utilise SQL_PLUS

n°1026758
moi23372
Posté le 27-03-2005 à 14:30:36  profilanswer
 

pourquoi tu ne met pas ta procédure dans le package directement?

n°1027012
xasyl
Posté le 28-03-2005 à 00:03:30  profilanswer
 

même en la mettant directement dans le package je suis tjs obligé de recompiler...
Je me demande si ce n'est pas la base où je suis qui a des problèmes (mauvaise installation ou autres soucis ...)

n°1028250
Skylouck
Posté le 29-03-2005 à 13:12:37  profilanswer
 

Ton probléme ne vient pas de ta procédure stockée mais de ta session SQL
 
Je te laisse chercher un peu, avec cette piste (tu es à l'école et il faut donc que tu apprennes un peu par toi même !)
 
 [:abnocte invictus]


Message édité par Skylouck le 29-03-2005 à 13:12:53
n°1028274
xasyl
Posté le 29-03-2005 à 13:41:21  profilanswer
 

ok skylouk je continue à chercher ...

n°1028280
Skylouck
Posté le 29-03-2005 à 13:44:17  profilanswer
 

xasyl a écrit :

ok skylouk je continue à chercher ...


Tu as pas trouvé  [:absolut_limon]  
 
 
cela vient de tes "SET ..." , cela va configurer ta session et donc qd tu appelles ta proc stockée les "SET..0" que tu as mis ds ta declaration ne sont pas effectués
 [:chris-of-paris]  
 
donc il faut que tu les mettes avt d'appeler ta proc stockée ! (Session SQL Appelant ta procédure stockée)
 
As-tu compris ?

n°1030047
xasyl
Posté le 30-03-2005 à 17:10:56  profilanswer
 

euh pas tout compris comment puis je les mettre dans ma session et non dans mes procs...
Comment faire alors pour que cela s'affiche (mon message test..), que cela soit indépendant de la session...

mood
Publicité
Posté le 30-03-2005 à 17:10:56  profilanswer
 

n°1030087
Skylouck
Posté le 30-03-2005 à 17:36:02  profilanswer
 

xasyl a écrit :

euh pas tout compris comment puis je les mettre dans ma session et non dans mes procs...
Comment faire alors pour que cela s'affiche (mon message test..), que cela soit indépendant de la session...


 
Bein tu fais comment pour te connecter à oracle ? avt d'appeler ta procedure stockée ?
C le fait que tu utilises le dbms_output il a besoin que ds la session sql il y ai le SET SERVEROUTPUT ON  !!!!!

n°1030721
xasyl
Posté le 31-03-2005 à 09:45:48  profilanswer
 

oui j'ai pigé...
tiens tu t'y connais en PHP-Oracle car je voudrais appeler mes PS via PHP (il vaut mieux des procedures ou des fonctions ?)
Merci d'avance

n°1030735
Skylouck
Posté le 31-03-2005 à 09:57:34  profilanswer
 

xasyl a écrit :

oui j'ai pigé...
tiens tu t'y connais en PHP-Oracle car je voudrais appeler mes PS via PHP (il vaut mieux des procedures ou des fonctions ?)
Merci d'avance


Désole moi je connais pas assez php mais fait un nvx topic !

n°1032385
xasyl
Posté le 01-04-2005 à 13:25:30  profilanswer
 

ok je te remercie


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  procédures stockées Oracle

 

Sujets relatifs
augmenter la large pool sous oracle 9iAppel d'une proc Oracle via Sybase / Powerbuilder
J2EE - Oracle ADFProblème avec Oracle
Tomcat 3.2 + jsp + Oraclepb de connexion avec oracle
[Oracle] Créer une 2ème base identique[ORACLE] Exception ou requetes pour les éviter
MySql - Procédures stockées et triggers[Oracle] Procédures stockées -> plus lentes ?
Plus de sujets relatifs à : procédures stockées Oracle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR