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 :

Insert into table


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut Insert into table
    Bonjour ,

    J'ai une table avec les données suivantes
    EMP_ID
    DATE_MONTH_SAV


    Exemple
    EMP_ID = 01020304
    DATE_MONTH_SAV = 01/04/2020


    Pour le même employé je souhaite integrer la date 01/03/2020 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO (EMP_ID,DATE_MONTH_SAV)
    SELECT EMP_ID,
                DATE_MONTH_SAV
    FROM EMP
    WHERE DATE_MONTH_SAV -1
    Cependant la requête précédente ne fonctionne pas.

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 161
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Ta requête n'est valide ni syntaxiquement, ni fonctionnellement. Si tu veux insérer des lignes pour un même employé sur le mois précédent, tu peux écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into t (EMP_ID,DATE_MONTH_SAV)
    select emp_id, add_months(date_month_sav, -1)
    from t;
    Ca va ajouter autant lignes qu'il en existe dans la table. Tu as besoin de le faire pour tous les employés?

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut
    Merci pour ta réponse

    Du coup si je souhaite insérer les mêmes donnes de que le 01/04/2020, je peux faire une requête comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    insert into t (EMP_ID,DATE_MONTH_SAV)
    select emp_id, add_months(date_month_sav, -1)
    from t
    Where DATE_MONTH_SAV = 01/04/2020
    Parce que la j’ai donné un exemple tout simple mais en fait j’ai plusieurs colonnes concernant cette date (comme par exemple le numéro de téléphone , l’adresse mail etc..).

    Ce que je souhaite faire c’est juste reprendre les données que j’ai pour le 01/04/2020 et les mettre pour le 01/03/2020

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 161
    Points : 1 956
    Points
    1 956
    Par défaut
    Oui, mais attention à bien préciser une date en utilisant la fonction de conversion TO_DATE:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    insert into t (EMP_ID,DATE_MONTH_SAV)
    select emp_id, TO_DATE('01/03/2020', 'DD/MM/YYYY')
    from t
    Where DATE_MONTH_SAV = TO_DATE('01/04/2020', 'DD/MM/YYYY');
    J'ai enlevé le ADD_MONTHS et mis directement le 01/03/2020 puisque c'est une date en dur que tu précises.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Cette partie de votre requête :
    Citation Envoyé par Totorote Voir le message
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...
    Where DATE_MONTH_SAV = 01/04/2020
    Est équivalente à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...
    Where DATE_MONTH_SAV = 1,2376237623762376237623762376238e-4
    En effet 1 divisé par 4 puis à nouveau divisé par 2020 donne 1,2376237623762376237623762376238e-4

    Il faudrait peut être commencer par apprendre le langage SQL....

    A +

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    Par défaut Merci Vanagreg
    Merci Vanagreg pour votre solution

Discussions similaires

  1. Problème Insert into table intermédiaire
    Par richard_sraing dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/01/2009, 23h58
  2. Réponses: 9
    Dernier message: 07/02/2008, 14h44
  3. Insert into "table" VALUES
    Par tehaiti dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/07/2007, 18h29
  4. Réponses: 12
    Dernier message: 25/11/2005, 13h29
  5. insert into table values/ insert into table select
    Par aaronw dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/05/2005, 16h14

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