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

Oracle Discussion :

Probleme insert avec merge


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 58
    Par défaut Probleme insert avec merge
    Bonjour,
    je poste toujours sur le même problème que j'ai depuis un petit moment! j'ai une base de donnée oracle exportée en fichier csv,ce fichier csv est modifié... je dois pouvoir rapporter les modifications du fichier csv dans la base de donnée oracle ...
    Pour se faire, j'ai mis les données du fichier csv dans un tableau, et grace à merge je voudrais faire des update ou des insert en consequences...
    Voilà ce que j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MERGE INTO TICKET D
       USING (SELECT NUMTICKET, DATEHEURETIC,MONTANT, TYPEACHAT FROM TEST.TICKET
       WHERE NUMTICKET = '28') S
       ON (D.NUMTICKET = S.NUMTICKET)
       WHEN MATCHED THEN UPDATE SET D.DATEHEURETIC=TO_DATE('2014-07-19 13:14:07', 'SYYYY-MM-DD HH24:MI:SS'),D.MONTANT= '200002', D.TYPEACHAT='tototoyouhouhtottoto' 
       WHEN NOT MATCHED THEN INSERT (NUMTICKET,DATEHEURETIC,MONTANT,TYPEACHAT)
         VALUES ('28','2014-07-19 13:14:07','34','glace');
    Les update fonctionnent mais pas les insert , on me dit qu'aucune ligne n'a été affectée...je suis pas sure de la syntaxe!! quelqu'un pourrait-il m'aider?

  2. #2
    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
    Est-ce que vos tables cible (TICKET) et source (TEST.TICKET) sont les mêmes ?

  3. #3
    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
    Utilisez la fonction To_Date aussi pour l'insert.

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2012
    Messages : 58
    Par défaut
    Merci pour vos réponses! Mais mon tuteur a trouvé!! je met le bon code, si jamais ça peut aider quelqu'un d'autre!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MERGE INTO TICKET USING dual ON (NUMTICKET = '28')
     WHEN MATCHED THEN UPDATE SET MONTANT = '202200', TYPEACHAT='test2', DATEHEURETIC=TO_DATE('2012-08-19 15:38:48', 'SYYYY-MM-DD HH24:MI:SS')
     WHEN NOT MATCHED THEN INSERT (NUMTICKET, MONTANT, TYPEACHAT, DATEHEURETIC) VALUES ('28', '2000', 'test2', TO_DATE('2012-08-19 15:38:48', 'SYYYY-MM-DD HH24:MI:SS'))

  5. #5
    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 flokent7 Voir le message
    Merci pour vos réponses! Mais mon tuteur a trouvé!! ...
    Utilisez la fonction To_Date aussi pour l'insert
    De plus la colonne montant est très probablement de type numérique et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET MONTANT = '202200'
    implique une coercition dans ce cas!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/07/2014, 08h33
  2. Probleme INSERT avec SELECT depuis un DBLINK
    Par peetez dans le forum SQL
    Réponses: 3
    Dernier message: 25/07/2007, 23h32
  3. Probleme insertion de deux fiches avec BDE dans un meme projet
    Par jojojojo57 dans le forum Bases de données
    Réponses: 4
    Dernier message: 22/03/2007, 08h55
  4. Probleme insertion date avec un champ datetime
    Par locs dans le forum MS SQL Server
    Réponses: 24
    Dernier message: 24/09/2006, 12h19
  5. [C#]Probleme insertion de donee avec bindingsource
    Par pas05 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/04/2006, 00h08

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