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 :

UPDATE et select


Sujet :

Langage SQL

  1. #1
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut UPDATE et select
    bonjour,
    je tente de recupérer les valeurs d'une colonne d'une table de ma base pour la mettre dans une autre.

    J'ai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update table1
    set colonne1.table1=select col2 from table2;
    Mais comme je travaille dans windev ,ma base est en HyperfileSQL.
    Il y aurait un moyent de contourner cette requête, vu que windev n'accepte pas cette tournure.

    merci d'avance.
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Bonjour,

    Il me semble que la forme exacte est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE table1
    SET table1.col1 = table2.col2
    FROM table2
    WHERE ...
    ~ Lola ~

  3. #3
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    Bonjour et merci pour ton intervention.
    Malheureusement cela n'est pas accepté sous Hyperfile SQL.

    erreur:mot from inattendu.

    cordialement
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  4. #4
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Cette discussion pourra peut-être t'aider, moi mes compétences s’arrêtent là..
    ~ Lola ~

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 802
    Points
    30 802
    Par défaut
    La syntaxe standard est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE  table1  tb1
    SET     tb1.col1 =  (   SELECT  tb2.col2 
                            FROM    table2  tb2
                            WHERE   tb2.id1 = tb1.idn   
                        )
    WHERE   EXISTS
            (   SELECT  1
                FROM    table2  tbx
                WHERE   tbx.id1 = tb1.idn
            )
    Attention que la sous-requête
    SELECT  tb2.col2 ...
    doit retourner une ligne et une seule pour chaque ligne de tb1 liée.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    Ok, merci pour vos contributions.
    Mais moi ma table est juste une table importée d'Excel donc qui n'est liée à aucune autre dans ma base.De ce fait les conditions de jointure deviennent inutile.Comment y remédier?

    cordialement
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 802
    Points
    30 802
    Par défaut
    Comment identifier alors quelle ligne de la table 2 contient la valeur correspondant à chaque ligne de la table 1 ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    oui, en fait.La base à intégrer les données est vide.Donc je pars d'une table temporaire pour intégrer les données.
    Mon soucis est que quand j'ai omis une colonne à importer je dois en faire faire le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update table1
    set table1.colx=(select colu from table2);
    //avec table1 table vide à populer et table2 table de donnée importée depuis excel

    mais ca marche pas.Alors que sur oracle par exemple ça marcherait.
    Mais question est de savoir comment peut on contourner cela si c'est possible.

    cordialement
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  9. #9
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Si ta table 1 est vide alors pourquoi ne fais-tu pas un INSERT ?
    ~ Lola ~

  10. #10
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    oui, mais si tu regarde bien la requête de départ que je citais, tu verras que je tente d'inserer une colonne vide de la table 1 par une remplis de la table 2.

    cordialement
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  11. #11
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Non tu n'insérais pas tu mettais à jour.

    Voici une requête d'insertion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO Table1 (col1)   
    SELECT col2   
    FROM   Table2
    A voir quel est ton besoin exact pour savoir quoi utiliser.
    ~ Lola ~

Discussions similaires

  1. update et select en une seule fois
    Par laloupiote dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/06/2007, 15h58
  2. LIMIT dans UPDATE vs SELECT
    Par Yadutaf dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/04/2007, 20h36
  3. Update et select
    Par Arola78 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/09/2006, 14h07
  4. [Debutant] UPDATE et SELECT
    Par zooffy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/06/2006, 16h19
  5. [Oracle9i/ Pl/Sql] Update et select en même temps
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 7
    Dernier message: 31/05/2005, 17h26

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