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 :

Remplir une table à partir de certains champs d'une autre


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut Remplir une table à partir de certains champs d'une autre
    Bonsoir à tous et toutes

    Je travaille en oracle 10 et je souhaite remplir une table à partir de colonne d'une autre table et à partir de champs statiques (comme l'heure systeme)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TableDestinationDeCopie
    ---------------------
    ID (varchar2(4))
    LastUpdate (Date ) //Date system
    ....
     
    TableOrigine
    -------------
    ID(varchar2(4))
    ....
    Donc je souhaite faire un truc du genre (mais ca fonctionne pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into TableDestinationDeCopie (ID, LastUpdate) Values ((select distinct(ID) from TableOrigine), DateSys())
    Comment puis-je faire cela?

    D'avance merci

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Insert Into Table_D (col1, col2, ...)
    Select 'TOTO', Sysdate, Col3, ...
    From Table_S

  3. #3
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    Merci à tois, je vais tester.

    Mais si je souhaite par exemple croiser 2 tables (donc prendre col1 de Table1 et Col2 de Table2?)

    Merci

  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
    Jointure, non ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    oui,

    imaginons que le nom d'une personne est dans une table1 et le prenom dans une table2 et que j'arrive à avoir
    Nom | prenom associé via une joiuinture, comment cela fonctionne-it?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO Table_D (col1, col2, ...)
    SELECT avec jointure, sysdate
    FROM Table_S
    inner join ...
    Ca passera comme ca?

    d'avance merci

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Jointure, non ?
    dans le select tu peux faire ce que tu veux en respectant:
    1- le nombre de colonnes ( égal à celui de la table de l'insert)
    2- respecter les types de données (en se referrant aux colonnes de la table d'insert)
    3- respecter les contraintes: insertion d'un champ NULL...

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    insert into tab_1
    (
    id_client, 
    nom, 
    adresse, 
    nombre_visite)
    select 
    (
    cl.id_client, 
    cl.nom, 
    cl.adresse, 
    vi.nombre_visite
    from client ci, visite vi
    where ci.id_client=vi.id_client
    )
    C'est en pl/sql... et en sql stanard... ajouter le values
    Merci,

  7. #7
    Membre éclairé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Par défaut
    ben voila, tout est ok comme ca, un tout grand merci

    Quoique... encore une derniere pour la route

    Je vais certainement devoir faire ca pour plusieurs tables
    Y-t-il un moyen de creer un script gerant de type d'insertion l'une apres l'autre ?
    On m'a parlé de SQLLoader, est-ce facile? est-ce simple pour ce qu eje veux faire pour y-a-til plus simple?

    Si je dois passer par sqlLoade,r avez-vous un lien vers lequel me diriger pour cette question de creation de script pour une insertion multiple?

    D'avance merci

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

Discussions similaires

  1. [2008R2] Remplir une table à partir de certains champs des autres tables
    Par aounidevlop dans le forum Développement
    Réponses: 5
    Dernier message: 20/01/2015, 12h05
  2. Réponses: 3
    Dernier message: 04/06/2010, 22h57
  3. [AC-2003] Créer une table à partir de la structure d'une table existante
    Par ted the Ors dans le forum VBA Access
    Réponses: 10
    Dernier message: 26/01/2010, 15h33
  4. Réponses: 1
    Dernier message: 28/04/2008, 16h47
  5. UPDATER le champ d'une table 1 avec le champ d'une table 2
    Par alain.dissoir dans le forum Oracle
    Réponses: 2
    Dernier message: 08/06/2005, 13h07

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