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 :

Requête sql dans pl/sql


Sujet :

PL/SQL Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 43
    Par défaut Requête sql dans pl/sql
    Bonjour,
    voila, j'ai des scripts sql de corrections de bugs dans une base.
    j'aimerai mettre en place un script pl/sql qui vérifie sur toutes les bases si le même bug existe et si c'est le cas exécuter les script sql.

    je vous demande pas le code , mais juste des idées de bases pour démarrer.
    merci

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Je dirais qu'il te faut piloter la chose par du script (shell par exemple) :
    - Tu te mets un fichier de config avec les bases + identifiants
    - Tu fais une boucle dans ton script shell ou tu traites chaque base
    - Tu lances avec SQL*Plus le script (bloc PL/SQL) qui repère les erreurs
    - Ce script retourne une valeur à ton SHELL
    - En fonction de cette valeur, tu lances ou non le correctif via SQL*PLUS

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 43
    Par défaut
    Citation Envoyé par pacmann Voir le message
    Salut !

    Je dirais qu'il te faut piloter la chose par du script (shell par exemple) :
    - Tu te mets un fichier de config avec les bases + identifiants
    - Tu fais une boucle dans ton script shell ou tu traites chaque base
    - Tu lances avec SQL*Plus le script (bloc PL/SQL) qui repère les erreurs
    - Ce script retourne une valeur à ton SHELL
    - En fonction de cette valeur, tu lances ou non le correctif via SQL*PLUS
    merci pour votre réponse.
    voici mes premiers pas.
    fichier de configuration:
    config.txt
    user/pwd
    premier fichier sh
    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
    16
    17
     
    #!/bin/bash
    #Lecture du fichier de configuration
    clear
    while read ligne
    	do
    	set $(echo $ligne)
    	export nomBase=$(eval echo $1)
    	export user=$(eval echo $2)
    	export password=$(eval echo $3)
    	echo -e "nomBase=$nomBase\nuser=$user\npassword=$password\n"
     
     
           # --- Connexion à SQLPLUS et Lancement 
              sqlplus $user/$password @existe_bug.sql.existe_bug(?,?)
    done < config.txt
    exit;
    le fichier existe_bug en pl/sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FUNCTION existe_bug(?,?) RETURN BOOLEAN IS
           LN$resultat BOOLEAN;
        BEGIN
           ?
     END;
     /
    Le dernier fichier n'est pas encore fini car je suis bloqué sur le pb suivant:
    comment savoir si une table de la base est susceptible de contenir le bug.
    Faut-il parser la requête sql pour extraite les tables et les colonnes( c'est du lourd)?

    merci

  4. #4
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Euh, ben ça dépend de ce que tu appelles un bug ?

    Je suppose que ça doit être une contrainte quelconque qui n'est pas "implémentée" au niveau base (genre champs alpha qui doivent contenir du numérique, plages de valeurs, nullité, ...)

    => A toi de faire la liste de ce que tu veux contrôler

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 43
    Par défaut
    Citation Envoyé par pacmann Voir le message
    Euh, ben ça dépend de ce que tu appelles un bug ?

    Je suppose que ça doit être une contrainte quelconque qui n'est pas "implémentée" au niveau base (genre champs alpha qui doivent contenir du numérique, plages de valeurs, nullité, ...)

    => A toi de faire la liste de ce que tu veux contrôler
    merci, je vais réfléchir.

Discussions similaires

  1. importer une base de données sql dans MS SQL server 2005
    Par petitepeste dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/10/2011, 15h33
  2. Utilisation procedure pl/sql dans requete sql
    Par KNIZOU dans le forum PL/SQL
    Réponses: 20
    Dernier message: 10/04/2008, 11h36
  3. [SQL] Recupération Requete SQL dans un tableau dynamique PHP
    Par victor.jbju dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/09/2006, 16h48
  4. [SQL] afficher resultat sql dans un tableau html
    Par digger dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/06/2006, 11h06
  5. [SQL] pb de sql dans formulaire multicritére
    Par batide dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 11/05/2006, 09h32

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