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

Langage SQL Discussion :

Question simple :Insert


Sujet :

Langage SQL

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 42
    Par défaut Question simple :Insert
    Bonjour ,

    Je suis en train d'alimenter une table avec des données venant de plusieurs autres tables .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO Cible (colone, colone 2)
     
    select colone3 , colone4 
     
     from Source1, Source2
     
     Where Source1.OP_NUM=Source2.OP_NUM
    Dois je faire une jointure entre les tables sources avant d'insérer les données dans la source ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 42
    Par défaut suite
    suite du probleme cité en haut

    Ma table cible s'appelle TABLE_FAIT_ACTIVITE_GLOBALE avec une clé primaire sur op_num

    En insrerant les données j'ai une erreur "Violation inegrrité ref ..".
    Je sais cela est du à la clé primaire .
    Dois je l'enlever ? les données risque d'etre faux alors .
    Comment insererr les données tout en gardant ma contrainte unique sur le op_num ?

    Voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO TABLE_FAIT_ACTIVITE_GLOBALE (OP_NUM,DTE_DEBUT_OPERTA, DTE_FIN_OPERATION, DATE_ARRET_RECL,DATE_OP_TERMNE,DATE_RUPTRE) 
    SELECT o.op_num, o.op_da_deb, o.op_da_fin,o.op_da_bloc_rec ,o.op_da_bloc_rec+3,c.CDE_DA_ETA  
    FROM o_operation@sfdd o, o_commande@sfdd c
     WHERE c.ELCDE_COD='R' 
    and c.op_num=o.op_num

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour,
    Peux tu nous donner le message d'erreur exact par copier coller et la structure de ta table avec les clés primaires et les foreign key.

    Peut-être as tu déjà inséré une partie des données et tu ne peux pas les inserer deux fois (à cause de ta clé primaire) dans ce cas il faut que tu rajoute dans le where une clause not exists .



    Cordialement
    Soazig

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 42
    Par défaut
    Merci .En fait je me suis trompé dans la définition de la clé primaire .Avant j'utilise num_op comme PK alors que je devrai mettre cmde_num comme PK,puisque chaque cmde_num est unique et a plusieurs num_op.

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/09/2004, 14h27
  2. Question simple sur la libération des objets
    Par gibet_b dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2004, 10h01
  3. DTS : Question simple sur sources de données
    Par guignol dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/05/2004, 12h09
  4. [LG]Choix du pascal ou autre ? Questions simples...
    Par vlacq dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2004, 23h42
  5. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13

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