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 :

Select sur une BD et Insert dans une autre


Sujet :

Langage SQL

  1. #1
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut Select sur une BD et Insert dans une autre
    Bonjour, j'ai besoin de faire un select et un insert dans une seule requete, je vais vous en demandé beaucoup alors n'hésitez pas à m'envoyer chier.
    Je dois faire une requete sur la table1 de la base1 et inserer les enregistrements retournée dans la table1 de la base2
    Base1
    - Table1
    [id][prenom][nom]
    Base2
    - Table1
    [cli_num][cli_prenom][cli_nom]
    Besoin de plus d'infos ou vous avez compris ?
    merci beaucoup par avance, c'est important et urgent

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Salut,

    Est-ce que par hasard ceci marcherait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO base1.table1 ( col1, col2 )
    SELECT ( col3, col7 ) FROM base2.table1

  3. #3
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut Après recherche
    Voici ce que j'ai trouvé après recherche de mon coté:

    La requête INSERT ... SELECT permet de rapidement insérer dans une table un grand nombre de lignes d'une ou plusieurs autres tables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO tblTemp2 (fldID) SELECT tblTemp1.fldOrder_ID FROM tblTemp1 WHEREtblTemp1.fldOrder_ID > 100;

    voilou...bon courage

  4. #4
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    merci à vous deux, ça fonctionne pas mal, il faut juste utiliser cette syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO base2.dbo.table1
                          (id, nom)
    SELECT     n.id, n.nom
    FROM         base1.dbo.table1 n
    WHERE     (id > 0)
    Autre question, je voudrais insérer automatiquement un id de 15 chiffres aléatoirement comme "208200120383004" par exemple dans SQL biensur

    mon soucis viens de la génération du nombre aléatoire mais aussi de l'insertion d'un champ ne provenant pas du select

  5. #5
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    bon sinon meme si je n'ai pas le champs aléatoire, il me faut obligatoirement remplir le champ "date" par un GETDATE(), je ne vois pas comment caser ça avec mon select

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 104
    Points : 28 397
    Points
    28 397
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO base2.dbo.table1
                          (id, nom, madate)
    SELECT     n.id, n.nom, GETDATE()
    FROM         base1.dbo.table1 n
    WHERE     (id > 0)
    Comme ça, tout simplement.

    Rappel, date est un mot réservé et ne doit pas être utilisé comme nom de colonne...

  7. #7
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    Merci nikel, je pensais pas, mon dernier soucis est de générer un nombre aléatoire dans une autre colonne, un nombre de 15 chiffres, mais je ne trouve pas de fonction random().

  8. #8
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Exemple d'un nombre aléatoire entre 1000 et 9999


    SELECT 10000*rand() ...;

    En prenant compte de la fourchette :

    SELECT (9000*rand())+1000...

    mais je ne suis pas certaine..

  9. #9
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    j'ai bien un noumbre aléatoire mais identique pour tous les enregistrements, merci je vais faire autrement.
    a+

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

Discussions similaires

  1. SELECT de deux tables pour INSERT dans une troisième
    Par vinsse2001 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 14/02/2013, 11h08
  2. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  3. insertion dans une table puis update dans une autre table
    Par uptoditime dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/10/2007, 18h08
  4. Affichage d'une image après insertion dans une base
    Par leloup84 dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 16h34
  5. Réponses: 7
    Dernier message: 14/12/2005, 09h53

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