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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment executer une fonction ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment executer une fonction ?

n°1495180
jonathanb2
Jonathan B
Posté le 22-12-2006 à 09:16:11  profilanswer
 

Tout est dans le titre ! "Comment executer une fonction ?"
 
j'ai fais quelques recherches:
 

Code :
  1. SELECT nom_fonction()


ou

Code :
  1. EXPLAIN ANALYZE SELECT nom_fonction()


 
Mais j'ai respectivement ces erreurs
 

Code :
  1. ERREUR à la ligne 1 :
  2. ORA-00923: mot-clé FROM absent à l'emplacement prévu


et

Code :
  1. ERREUR à la ligne 1 :
  2. ORA-00905: mot-clé absent


 
Aprés j'ai essayé de faire EXECUTE comme pour les procédures, mais... ca ne marche pas !
:|
 
 
 
Si quelqu'un a la solution, je ne suis pas contre ! (D’ailleurs, je n’arrive pas à comprendre l'intérêt d'une procédure puisqu'on peut créer des fonctions qui ne retournent rien). Je m'excuse si ces questions peuvent vous sembler stupide, je débute !
 
Ha, j'oubliais mon code (de la fonction à executer):
 

Code :
  1. CREATE OR REPLACE FUNCTION pilote_info(idpilote IN number) return pilote%ROWTYPE AS
  2. piloterow pilote%rowtype;
  3. BEGIN
  4. SELECT pl#,plnom,dnaiss,adr,tel,sal INTO piloterow FROM pilote WHERE pl#=idpilote;
  5. RETURN (piloterow);
  6. END;
  7. /


 
Merci d'avances pour vos réponses  :)


Message édité par jonathanb2 le 22-12-2006 à 09:24:47

---------------
Beyond The Noise
mood
Publicité
Posté le 22-12-2006 à 09:16:11  profilanswer
 

n°1495254
jonathanb2
Jonathan B
Posté le 22-12-2006 à 11:29:40  profilanswer
 

Bon j'ai trouvé des infos
pour une fonction simple qui renvoie un nombre c'est:
SELECT nom_fonction FROM DUAL;
le seul problême, c'est qu'ici je en renvoie aucun nombre !


---------------
Beyond The Noise
n°1495259
FlorentG
Posté le 22-12-2006 à 11:34:40  profilanswer
 

C'est quoi comme fonction ?

n°1495269
skeye
Posté le 22-12-2006 à 11:48:29  profilanswer
 

from dual quand même, si tu es sous oracle.
La clause from est obligatoire.


---------------
Can't buy what I want because it's free -
n°1495322
jonathanb2
Jonathan B
Posté le 22-12-2006 à 13:13:16  profilanswer
 

select pilote_info(29) from dual;
 
ERREUR à la ligne 1 :
ORA-00902: type de données non valide
 
Alors qu'avec des fonctions simple qui renvoient juste un nombre je n'ai pas d'erreurs !
Et oracle me dis que la fonction est correctement créée !
 

Citation :

C'est quoi comme fonction ?


j'ai indiqué la fonction dans mon 1er message ! Si ce n'est pas ca que tu demandes, dsl je comprends pas ta question :-s !


Message édité par jonathanb2 le 22-12-2006 à 13:19:01

---------------
Beyond The Noise
n°1495324
skeye
Posté le 22-12-2006 à 13:17:55  profilanswer
 

euh, elle a quel intérêt, ta fonction, là, en fait?[:pingouino]


---------------
Can't buy what I want because it's free -
n°1495330
jonathanb2
Jonathan B
Posté le 22-12-2006 à 13:27:19  profilanswer
 

La fonction demande comme argument l'id d'un pilote ! et celle ci va retourner toutes les infos du pilote (c'est à dire la ligne entière de la table qui correspond au pilote demandé) !
 
EDIT: en fait c'est une fonction qui liste !  :p


Message édité par jonathanb2 le 22-12-2006 à 13:31:08

---------------
Beyond The Noise
n°1495331
skeye
Posté le 22-12-2006 à 13:32:24  profilanswer
 

j'entends bien, mais pourquoi ne pas faire directement ton select?[:autobot]


---------------
Can't buy what I want because it's free -
n°1495334
jonathanb2
Jonathan B
Posté le 22-12-2006 à 13:42:42  profilanswer
 

en fait c'est un projet que je dois rendre !
et mon prof m'a demandé une "FONCTION" qui liste !
si tu as une autre solution je suis pas contre
(mais je pige tjrs pas pourquoi ca marche pas)
 
:)


---------------
Beyond The Noise
n°1495343
skeye
Posté le 22-12-2006 à 14:09:55  profilanswer
 

jonathanb2 a écrit :

en fait c'est un projet que je dois rendre !
et mon prof m'a demandé une "FONCTION" qui liste !


ah, alors démerde-toi.[:dawa]
On n'est pas là pour faire tes devoirs...:o


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 22-12-2006 à 14:09:55  profilanswer
 

n°1495355
jonathanb2
Jonathan B
Posté le 22-12-2006 à 14:46:07  profilanswer
 

haha
je pense que le problême est au niveau du DUAL !
le DUAL ne peut pas afficher qu'en bloc (string, int...) mais pas tout à la fois ! et la c'est ce que je lui demande !
 
enfin merci quand même ! ;)


---------------
Beyond The Noise

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

  Comment executer une fonction ?

 

Sujets relatifs
Exécuter une fonction à distanceExecuter une fonction d'un script en VBScript
Exécuter des portions de code php différentes en fonction d'un confirmExécuter une fonction toutes les x secondes
Executer fonction avec Identification Admin ... ?[JAVA] RMI : Le serveur peut-il exécuter une fonction cliente ?
executer un scrpt en fonction de l'ip de l'userExecuter une fonction avant un "return"
Executer une fonction JS dans une autre frame[PHP] Exécuter une fonction en cliquant sur le bouton d'un formulaire
Plus de sujets relatifs à : Comment executer une fonction ?


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