IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sql Developer Oracle Discussion :

Exécuter une fonction


Sujet :

Sql Developer Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut Exécuter une fonction
    Bonjour,
    Voici une question probablement un peu bête, mais je n'ai pas trouvé comment executer une fonction sous oracle sql developper (Version 1.5.1).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE OR REPLACE FUNCTION montest ()
    	RETURN BINARY_INTEGER
    IS
    BEGIN
    END chrg_notifOppos;
    /
     
    montest();
    Dans l'onglet "nomdemabase", j'ai mis ce code. Je mets la souris sur le code de la création de la fonction, je fait "play" (la petite fleche verte), et j'obtiens un message :
    create or REPLACE FUNCTION Statement Processed
    Ce qui me semble tout correct.
    Par contre, si je mets ma souris sur "montest();" et que je fait play, j'obtiens une erreur "invalid SQL statement", probablement du a une mauvaise écriture de ma part.

    Bref, comment faut-il faire pour executer une fonction ?

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Merci d'utiliser la fonction recherche cette question revient fréquemment.

    Comme je suis de bonne humeur :
    http://www.developpez.net/forums/d23...-sql-sql-plus/

  3. #3
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut


    Ceci dit, ca ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE OR REPLACE FUNCTION montest()
    	(in_numPart IN BINARY_INTEGER,
    	in_nombrLignComm IN BINARY_INTEGER)
    	RETURN BINARY_INTEGER
    IS
    	/* variables */
    	ret BINARY_INTEGER := 1 ;
    BEGIN
      RETURN ret;
    END montest;
    /
     
    select montest(:a, :b, :c) from dual;
    J'obtiens :
    ORA-06575: Package or function MONTEST is in an invalid state.
    (...)
    *Cause: Oracle attempted to compile the function, but detected errors.
    *Action : Check the sql statement and the PL/SQL function for syntax errors or incorrectly assigned, or missing, privileges for a referenced object.

  4. #4
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Sous SQL*Plus, fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show err FUNCTION montest
    Tu devrais pouvoir corriger par toi-même

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    1 - quand tu importes une fonction (création/mise jour), TOUJOURS vérifier si la compilation est ok (par exemple avec un show error)
    2- les deux prototypes successifs que tu as posté sont incorrects : une fonction sans paramètres ne prends pas de () et une fonction qui en prend ne doit pas avoir ()(...liste param...) mais (...liste param...)
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

Discussions similaires

  1. [Débutant]Comment exécuter une fonction tous les jours
    Par pseudomh dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 21/06/2006, 16h10
  2. Exécuter une fonction sur le onchange d'un select
    Par Lung dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/06/2006, 15h05
  3. Réponses: 5
    Dernier message: 28/04/2006, 14h40
  4. Est-il possible d'exécuter une fonction à partir de fichier
    Par magic8392 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 16/09/2005, 13h59
  5. [VB.NET] Exécuter une fonction VB sur un Datagrid
    Par MiJack dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/09/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo