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 :

Résultat d'une requête dans une variable [11g]


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 64
    Par défaut Résultat d'une requête dans une variable
    Bien le bonjour à tous,

    je débute en SQL et sur Oracle. J'aimerai rendre mes requêtes plus claires en utilisant des variables. Dans ma requête je voudrai mettre le résultat de la semaine en cours dans une variable afin de l'utiliser par la suite.
    Cependant j'ai une erreur, je ne vois pas d'où cela provient.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    DECLARE
      semaine_en_cours VARCHAR2(2);
    BEGIN
      SELECT TO_CHAR(SYSDATE, 'IW') INTO semaine_en_cours FROM DUAL;
     
      SELECT COUNT(nu_int),
             TO_CHAR(TO_DATE(da_ap, 'YYYY-MM-DD'), 'IW') AS Semaine,
             TO_CHAR(TO_DATE(da_ap, 'YYYY-MM-DD'), 'YYYY') AS Annee
      FROM EN_COURS 
      WHERE v_fonc = 'TX'
        AND TO_CHAR(TO_DATE(da_ap, 'YYYY-MM-DD'), 'YYYY') = '2023'
        AND TO_CHAR(TO_DATE(da_ap, 'YYYY-MM-DD'), 'IW') = semaine_en_cours
      GROUP BY TO_CHAR(TO_DATE(da_ap, 'YYYY-MM-DD'), 'IW'), TO_CHAR(TO_DATE(da_ap, 'YYYY-MM-DD'), 'YYYY');
    END;
    /
    Pouvez vous me dire où j'ai fait une erreur ?
    D'avance merci pour votre temps.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 176
    Par défaut
    Bonjour,

    en PL/SQL tu dois stocker le résultat d'une requête quelque part (dans une table, une collection, ..).
    Tu le fais bien pour ta première requête pour laquelle tu stockes dans une variable, mais tu ne le fais pas pour ta 2è requête.
    A quoi est destiné le résultat de ta 2è requête?

  3. #3
    Membre confirmé
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 64
    Par défaut
    Merci de prendre le temps de répondre

    La deuxième requête compte le nombre d'intervention qui ont eu lieu pour la semaine = semaine_en_cours et pour l'année 2023.
    Une fois que j'aurai compris ce qui bloque je pourrais faire de même avec l'année et mettre la valeur dans une variable.

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 176
    Par défaut
    C'est juste pour de l'affichage? Tu utilises quel outil? SQL*Plus, SQL Developer?

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Attention avec vos années, si vous utilisez IW pour les semaines (ISO), il faut également utiliser IYYY pour l'année.

    De manière générale sur Oracle DB, les procédures ne sont pas conçues pour renvoyer des données. Regardez plutôt les fonctions tables ?

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 176
    Par défaut
    ok tu utilises une macro VBA pour te connecter à Oracle via ADO ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 64
    Par défaut
    Non je fais la connexion pour les requêtes via Données > Obtenir des données > A partir d'ODBC ensuite j'ajoute la requête dans le panneau.

    En parallèle l'erreur que j'ai : "Une clause INTO est attendue dans cette instruction SELECT". Faisant référence au
    J'avoue ne pas comprendre la logique

  8. #8
    Membre confirmé
    Homme Profil pro
    Clavardeur en tout genre
    Inscrit en
    Août 2019
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Clavardeur en tout genre

    Informations forums :
    Inscription : Août 2019
    Messages : 64
    Par défaut
    Je récupère le résultat de la requête dans Excel via un connecteur ODBC.
    J’utilise Sqldbx et Sqldeveloppeur. Mais je rencontre une erreur lorsque je test cette requête.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [10gR2] Récupérer le résultat d'une requête dans un variable
    Par zoltix dans le forum PL/SQL
    Réponses: 1
    Dernier message: 04/11/2019, 17h54
  2. Récupérer les résultats d'une requête dans des variables
    Par christophebolmontcha dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/05/2014, 10h14
  3. Réponses: 2
    Dernier message: 25/03/2009, 15h32
  4. [VxiR2] Résultat d'un requête dans une variable
    Par ltousch dans le forum Designer
    Réponses: 3
    Dernier message: 23/01/2009, 18h35
  5. Réponses: 5
    Dernier message: 05/04/2005, 11h53

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