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 :

INSERT à la carte


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut INSERT à la carte
    hello les gens, j'ai un souci sur une requête de type INSERT, je l'expose en esperant avoir une reponse à mon problème (plutot gros le problème )

    Voila, donc ma requête s'apparenterait à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO T1(C1,C2,C3)
    SELECT T2.C4, T3.C8, (SELECT (CASE WHEN FCT(T2.C10)>=0 THEN C10 END) FROM dual)
    FROM T2, T3,T4
    WHERE T2.C6=T4.C12
    mon problème c'est que si FCT(T2.C10)<0 le champs T1.C3 dernier champs à faire l'objet de l'ordre INSERT aura la valeur NULL. Or moi je voudrais que sa valeur ne bouge pas si FCT(T2.C10)<0
    J'espere que c'est assez clair.
    Merci pour toutes vos contribution.

    EDIT: à j'oubliais, sur T1 il n-y'a AUCUNE clé primaire

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Salut,
    Peux tu préciser ce que tu entends par la valeur qui bouge pas?
    Je te proposerais bien ça, mais c'est sûrement trop trivial.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO T1(C1,C2,C3)
    SELECT T2.C4, T3.C8, (CASE WHEN FCT(T2.C10)>=0 THEN C10 ELSE la_valeur_qui_bouge_pas END)
    FROM T2, T3,T4
    WHERE T2.C6=T4.C12
    PS : Je ne pense pas que tu aies besoin de faire un appel à dual.

  3. #3
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    Peux tu préciser ce que tu entends par la valeur qui bouge pas?
    c'est la valeur par defaut de T1.C3 (que j'ignore)

    PS : Je ne pense pas que tu aies besoin de faire un appel à dual.
    bien vu ça marche tout aussi bien sans.

  4. #4
    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
    La solution est d'utiliser des inserts multi-table.

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    Désolé mais je ne vois sincèrement pas en quoi les inserts muti-table peuvent m'aider.
    Relis la discussion.

  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
    Citation Envoyé par jadey Voir le message
    Désolé mais je ne vois sincèrement pas en quoi les inserts muti-table peuvent m'aider.
    Relis la discussion.
    Tu veux insérer à la fois dans T1 avec (C1, C2, C3) et à la fois dans T1 avec (C1, C2) et dans ce cas C3 prends la valeur par défaut défini sur la table T1 pour cette colonne. Est-ce que j’ai mal compris ?

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

Discussions similaires

  1. moyen d'insertion d'écart dans un tableau
    Par sasuke18 dans le forum Excel
    Réponses: 2
    Dernier message: 11/08/2014, 10h57
  2. Insertion de carte dans une application GPS
    Par lucasgensac dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 31/05/2013, 10h45
  3. Réponses: 0
    Dernier message: 21/04/2011, 19h53
  4. [Google Maps] insertion d'une carte et point "photo"
    Par Berno dans le forum APIs Google
    Réponses: 1
    Dernier message: 21/03/2011, 20h19
  5. Réponses: 2
    Dernier message: 22/07/2010, 12h12

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