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 :

Condition existentielle (IF EXISTS)


Sujet :

PL/SQL Oracle

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut Condition existentielle (IF EXISTS)
    Bonjour, après avoir navigué sur le net je ne trouve pas la syntaxe correct en du code que je voudrai faire fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IF EXISTS SELECT champ FROM Table         
            Modifer   
          ELSE
            Créé      
    end IF;
    Quel qu'un peut m'aider?

    Coordialement

  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 !

    Pas sûr de savoir ce que tu veux faire, une explication avec des mots pourrait confirmer.

    Que veux tu modifier ? La dite table ?
    Que veux dire "IF EXISTS SELECT champ FROM TABLE" ? Si un champ de la table contient une valeur que tu veux tester ?
    Que veux tu tester ? L'existence d'une ligne répondant à une certaine condition ?

  3. #3
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    regarde la commande MERGE

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut
    Je voudrais à partir d'informations provenant d'une première table modifier les enregistrements d'une seconde si ils existent déjà et les créer dans le cas contraire.
    Si je ne suis pas assez claire n'hésitez pas à me le dire.

  5. #5
    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
    Dans ce cas, comme l'a dit OraFrance, c'est MERGE qu'il te faut

    http://download.oracle.com/docs/cd/B...ments_9016.htm

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    regarde la commande MERGE
    Bon si vous insistez de faire ça en PL/SQL par vous même alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      Update Table Set col = valeur where cle = valeur_cle;
      If SQL%RowCount = 0 Then
        Insert Into Table (cle, col) Values (valeur_cle, valeur);
      End If;

  7. #7
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut
    Je n'aime vraiment pas les explications en schéma et encore moins en anglais x)
    Serait-il possible d'avoir un bout de code explicatif ?

    Edit : j'ai répondu avant de voir ta réponse mnitu =)

    À quoi correspond SQL%RowCount dans votre bout de code ?

  8. #8
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    ROWCOUNT retourne le nombre de lignes traitées par la commande précédente. Pour les exemples de MERGE, tu n'as qu'à lancer une recherche dans le forum où ça a été démontré à de nombreuses reprises

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Par défaut
    Effectivement, je vous remercie et vous félicite pour vos nombreuses réponses en peu de temps.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/02/2010, 16h52
  2. [XPath] test d'existence de noeud avec conditions sur les enfants
    Par MasterOfChakhaL dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 11/04/2007, 10h42
  3. Condition sur existence de fichier sur le disque dur
    Par manshoon dans le forum Langage
    Réponses: 3
    Dernier message: 10/05/2006, 09h58
  4. [Oracle] Update sur 1 colonne avec condition existence (SUBSTR)
    Par magic charly dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2006, 13h57
  5. Controle sur 1 col. dont l'existence est soumise à condition
    Par HOUDEBINE dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/02/2006, 07h51

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