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 Oracle Discussion :

Procédure ou fonction


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 16
    Points
    16
    Par défaut Procédure ou fonction
    Bonjour,
    IL faudrait que je crée une procédure que j'appelerai avec deux champs mois1 mois2 qui me fairait le
    Calcul des stats mensuels pour me renvoiyer un fichier CSV.

    Procédure (mois1;mois2)

    'calcul de la moyenne des parutions
    moy_parution =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(DISTINCT(DATE_PARUTION))/COUNT(DISTINCT(MOIS))
    FROM IC922 
    WHERE TITRE IN ('REP','ECL') AND MOIS BETWEEN ('mois1') AND ('mois2')
    'calcul de la stat puis renvoyer un fichier CSV avec le résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TITRE , CANTON , COMMUNE , EXPEDITION , SUM(VENTES)/moy_parution AS MOY_VENTES ,  MOIS,NBRE_FOYER_COMMUNE , COUNT(DISTINCT(DATE_PARUTION)) AS NBRE_JOUR , classement_canton
    FROM IC922 WHERE TITRE IN ('REP','ECL') AND MOIS BETWEEN 'mois1' AND 'mois2'
    GROUP BY TITRE,CANTON,COMMUNE,EXPEDITION,MOIS, NBRE_FOYER_COMMUNE , classement_canton;
    comment ecrire ça en PLSQL en sachant que je ne maitrise pas beaucoup et de plus coment appeler le programme via un batch ou autre avec les deux dates
    merci de votre aide

  2. #2
    Membre actif Avatar de Sceener
    Inscrit en
    Mai 2007
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 231
    Points : 228
    Points
    228
    Par défaut
    Solution 1 : utiliser un batch (shell sous unix ) ou (vbscript sous win) pour exécuter ta procédure , sur ta procédure tu pourras utiliser UTL_FILE package d'oracle (nécessite un paramétrage ) pour produire le fichier voulu dans un emplacement sépcifique.

    Solution 2 : utiliser une table temporaire qui sera alimenter par les éléments récupérer de ta equête puis un batch qui va spooler cette table via sqlplus d'oracle.

    Solution 2 est plus simple que la première .
    La sagesse des hommes ne tient pas à leur expérience, mais à leur aptitude à l'expérience.


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    je comprends ce que tu veux faire dans la solution 2
    mais en fait je veux automatiser c'est à dire que l'utilisateur rentrera les deux valeurs et récuperera le fichiers dans excel
    est ce possible?

    dans ta solution 2 ne peut t'on pas le faire tous les mois par exemple dans une procédure stocké dans oracle?

  4. #4
    Membre actif Avatar de Sceener
    Inscrit en
    Mai 2007
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 231
    Points : 228
    Points
    228
    Par défaut
    la plutôt je penserai à une petite dev spécifiqe puisqu'on commence à parler d'utilisateur du genre , page web ou ils saisissent leur mois et réupérer dans une seconde page le lien vers le fichier csv.

    2 Hyphothèse joué sur les macros Office pour présenter un formulaire de saisie des deux valeurs et exécuter par ailleurs ta procédure . et récupérer le résultat csv , en occurence Excel reste le candidat favoris.


    je ne sé pas , ça dépendra aussi de ton SI , où tu pourras injecter cette fonctionnalités.
    La sagesse des hommes ne tient pas à leur expérience, mais à leur aptitude à l'expérience.


Discussions similaires

  1. Procédure et fonction : les différences et les usages de chacune ?
    Par cpattin dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 06/08/2007, 00h28
  2. procédure ou fonction stockée qui retourne un résultat
    Par PoichOU dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 28/05/2007, 16h03
  3. Réponses: 3
    Dernier message: 22/03/2006, 15h38
  4. Mysql5: différences entre procédures et fonctions
    Par El Riiico dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 25/11/2005, 05h43
  5. Réponses: 5
    Dernier message: 14/10/2005, 12h11

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