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

MS SQL Server Discussion :

INSERT INTO (A-B) from A dans B ?


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Décembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 63
    Par défaut INSERT INTO (A-B) from A dans B ?
    Bonjour
    soit les 2 tables A et B de structures identiques
    on veut insérer les lignes de A dans B en evitant d'avoir le message d'erreur (cannot insert duplicate ...)
    insert into B
    select * from A where A.x not in ( select x from B) -----(x est la clé primaire)
    si A contient 4 clé primaire et la condition est sur toute la ligne , comment l'écrire
    ja'ai essayé avec exists et not exists mais la syntaxe est ambigue

  2. #2
    Invité
    Invité(e)
    Par défaut
    une réponse rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ; with SR as (
    	Select t1.x from A as t1
    	except
    	Select t2.x from B as t2
    )
    INSERT INTO B
    select T0.*
    from A as T0
    join SR
    	on T0.x = SR.x
    S'il y a plusieurs clefs primaires ben il faut les rajouter dans les conditions.
    Vous pouvez consulter les tutoriels du site http://sql.developpez.com/ , les notions de bases y sont expliqués.

  3. #3
    Membre actif
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Décembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 63
    Par défaut
    est ce qu'il y'a une solution avec une syntaxe plus simple ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par enstein8 Voir le message
    est ce qu'il y'a une solution avec une syntaxe plus simple ?
    C'est quoi le problème ?

  5. #5
    Membre actif
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Décembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    with SR as (
    	Select x from AAAA.dbo.A as t1
    	except
    	Select x from BBBB.dbo.A as t2
    )
    INSERT INTO BBBB.dbo.A 
    select T0.*
    from AAAA.dbo.A as T0
    join SR
    	on T0.x = SR.x
    	AND T0.y = SR.y
    	AND T0.z = SR.z
    	AND T0.w = SR.w

    les conditions sur y z w ne sont pas reconnus

  6. #6
    Invité
    Invité(e)
    Par défaut
    Effectivement, tu as fais la job à moitié.
    Il faut extraire les colonnes de la clef primaire en entier dans la sous requête.
    Commence par lire les tutoriels, stp.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/11/2012, 12h58
  2. Variable dans INSERT into from
    Par JPLAROCHE dans le forum DB2
    Réponses: 6
    Dernier message: 14/01/2010, 13h13
  3. Réponses: 9
    Dernier message: 07/02/2008, 13h44
  4. insert into from select ?
    Par axel584 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/01/2005, 18h10
  5. Incrémenter champ : insert into . select max(.) + 1 from .
    Par ludo.guy dans le forum Langage SQL
    Réponses: 10
    Dernier message: 25/11/2004, 14h39

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