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

PL/SQL Oracle Discussion :

Exécution d'une procédure stockée


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 96
    Par défaut Exécution d'une procédure stockée
    Bonjour ,

    j'ai une procedure qui prend en paramétre deux valeurs de type Date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Procedure nom_procedure(y date ,x date )IS
    ..................
    quand j'essaie d'excuter cette procedure sur sql navigateur
    je lui donne les valeurs suivantes Y=01/05/2008;X=31/05/2008)
    ou bien (Y=01-05-2008;X=31-05-2008).

    il me génére une exception (not valid a month).

    je ne sais pas qu'elle format de date je dois donner en paramétre pour executer ma méthode.
    avez-vous une idée??
    merci

  2. #2
    Membre expérimenté
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Par défaut
    Une variable date doit être initialisée de préférence avec la fonction TO_DATE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare
    date1 date;
    date2 date;
    begin
    date1 := TO_DATE('29/11/2008', 'DD/MM/YYYY');
    date2 := TO_DATE('30/11/2008', 'DD/MM/YYYY');
     
    nom_procedure(date1, date2);

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 96
    Par défaut
    Bonjour,
    merci pour la réponse ,mais je ne sais pas comment faire pour que ma méthode se déclare come ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    y DATE;
    X DATE;
    BEGIN
      Y:= TO_DATE('01/05/2008','dd/mm/yyyy');
      X:= TO_DATE('31/05/2008','dd/mm/yyyy');
    PACKAGE.MA_PROCEDURE(TO_DATE('01/05/2008',''dd/mm/yyyy''),TO_DATE('31/05/2008',''dd/mm/yyyy''));
    est ce que je dois ajouter un code à l'interieur de ma fonction pour preciser le format des dates ou koi ? voici la déclaration de ma methode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DECLARE
    y DATE;
    X DATE;
    BEGIN
      Y:= TO_DATE('01/05/2008');
      X:= TO_DATE('31/05/2008');
     
      PACKAGE.MA8PROCEDURE(TO_DATE('01/05/2008'),TO_DATE('31/05/2008'));

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 136
    Par défaut
    Bonjour,

    il y a deux solutions.

    1. soit tu passes par des variables, à ce moment-là tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Y:= TO_DATE('01/05/2008','dd/mm/yyyy');
    X:= TO_DATE('31/05/2008','dd/mm/yyyy');
    PACKAGE.MA_PROCEDURE(Y, X);
    (cela correspond au code que Benoit t'a donné, avec date1 et date2 remplacés par Y et X)

    2. soit tu ne veux pas utiliser de variables intermédiaires, tu n'as pas besoin de X et Y, tu écris directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PACKAGE.MA_PROCEDURE(TO_DATE('01/05/2008','dd/mm/yyyy'),TO_DATE('31/05/2008','dd/mm/yyyy'));
    (attention, il faut un seul guillemet autour de dd/mm/yyyy, sinon ce n'est pas considéré comme une chaine de caractères)

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/11/2009, 16h22
  2. Réponses: 2
    Dernier message: 30/09/2008, 14h49
  3. Erreur d'Exécution d'une procédure stockée
    Par h.Madjid dans le forum SQL
    Réponses: 1
    Dernier message: 05/09/2007, 19h34
  4. Exécution d'une procédure stockée dans Sql
    Par Pascalp dans le forum Access
    Réponses: 4
    Dernier message: 01/09/2006, 11h47
  5. Accès non autorisé à l'exécution d'une procédure stockée
    Par celine33 dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/01/2006, 10h27

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