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

Oracle Discussion :

[insert into] missing expression


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut [insert into] missing expression
    salut tout le monde.


    j'ai une requête que je veux faire c'est celle là en fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into inscription( id_candidat, heure_inscription, jour_inscription) VALUES ('19',to_date('00:30','HH24:MI'),to date('24-janv.-2006','dd-mon-YEAR'))
    le problème c'est que ça m'affiche "missing expression". Je ne sais pas pourquoi.
    Comment ça se fait?
    c'est curieux non?
      0  0

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

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 864
    Points : 3 438
    Points
    3 438
    Par défaut
    Peut-être en enlevant l'espace entre inscription et la parenthèse ouvrante ? Ou peut-être en enlevant la parenthèse en trop tout à la fin ?
      0  0

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    insert into inscription( id_candidat, heure_inscription, jour_inscription) VALUES
    et celle là je la ferme où??? ===>>('19',to_date('00:30','HH24:MI'),to date('24-janv.-2006','dd-mon-YEAR'))
      0  0

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    et puis y a pas d'espace entre inscription et la parenthèse ouvrante.
      0  0

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    tu as écrit "to date" au lieu de "to_date"
      0  0

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

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 864
    Points : 3 438
    Points
    3 438
    Par défaut
    Je raconte des bêtises!!

    Désolé je suis debout depuis trop tot ce matin!

    Pour me rattraper : Utilises-tu TOAD ? Sous Toad, tu as la possibilité de "reformatter" une requête, et en général ça te permet de trouver l'erreur !

    A+
      0  0

  7. #7
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par KiLVaiDeN
    Sous Toad, tu as la possibilité de "reformatter" une requête, et en général ça te permet de trouver l'erreur !
    Remarque dans le cas précis, une lecture attentive suffit pour trouver l'erreur
      0  0

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

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 864
    Points : 3 438
    Points
    3 438
    Par défaut
    Oui comme dans la plupart des cas
    L'outil de reformatter de Toad est utile car il fait ça automatiquement, donc quand la requête est assez volumineuse on peut s'y retrouver !

    J'ai une excuse à mon problème de visibilité : j'utilise un CSS spécifique sous opéra afin d'éliminer les mises en formes trop "space" et d'avoir un maximum d'informations à l'écran, c'est très utile pour chercher des informations, mais il est vrai que du coup on voit moins bien les lignes de codes ! Voici une capture :



    Du coup difficile de voir le TO DATE au lieu de TO_DATE
      0  0

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    bon ben j'ai remis l'underscore mais là ça m'affiche que l'année doit être entre -4713 et +9999.
      0  0

  10. #10
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Mets YYYY à la place de YEAR :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> select to_char (sysdate, 'YEAR') from dual;
    TO_CHAR(SYSDATE,'YEAR')
    ------------------------------------------
    TWO THOUSAND SIX
     
    SQL> select to_char (sysdate, 'YYYY') from dual;
    TO_CHAR(SYSDATE,'YYYY')
    ------------------------------------------
    2006
      0  0

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    en fait j'aurais du afficher ma requête car j'ai mis YYYY à la place.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into inscription( id_candidat, heure_inscription, jour) VALUES ('19',to_date('00:30','HH24:MI'),to_date('24-janv.-2006','dd-mon-YYYY'))
    sinon je n'ai pas compris ce que voulait dire ton code, de plus je n'ai aucunne table nommée "dual" dans ma bdd à quoi sert-elle?
    idem pour "to_char" et "sysdate"?!? :
      0  0

  12. #12
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par povtype
    sinon je n'ai pas compris ce que voulait dire ton code, de plus je n'ai aucunne table nommée "dual" dans ma bdd à quoi sert-elle?
    idem pour "to_char" et "sysdate"?!? :
    dual : table oracle
    to_char : affiche au format souhaité une date
    sysdate : date système
    Et le code que je t'ai mis était pour te monter la différence entre YYYY et YEAR

    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into inscription( id_candidat, heure_inscription, jour) VALUES ('19',to_date('00:30','HH24:MI'),to_date('24-jan-2006','dd-mon-YYYY'))
      0  0

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    j'ai essayé ton code et ça m'a affiché ceci

    ORA-02291:integrity constraint (OPS$ABIP1ARC.SYS_C005487)violated - parent key not found
      0  0

  14. #14
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Tu as une clé étrangère et celle-ci n'est pas respectée. Renseigne correctement la table "mère" et refais ton insert (ou insère une donnée qui existe dans la table mère).
      0  0

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    effectivement je suis bête le numéro 19 n'existait pas dans la table mère.
      0  0

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Ca marche, mais...

    Pourquoi ça m'affiche "01-févr.-2006 12:30:00 AM" dans l'heure et "24-janv.-2006 12:00:00 AM" dans jour?
      0  0

  17. #17
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Parce que les colonnes date contiennent les jours et les heures. Donc si tu ne spécifie pas d'heure, il met 0h00 (soit 12h00AM) et si tu ne précises pas de date, il te met le premier jour du mois courant.
      0  0

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    et comment je peux faire pour m'en débarasser à savoir que j'utilise l'heure système de même pour la date?
      0  0

  19. #19
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Si j'ai compris ce que tu voulais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into inscription( id_candidat, heure_inscription, jour) 
    VALUES ('19',to_date(to_char (SYSDATE, 'dd-mon-YYYY') || ' 00:30','dd-mon-YYYY HH24:MI'),to_date('24-jan-2006 ' || to_char (sysdate, 'HH24:MI') ,'dd-mon-YYYY HH24:MI'))
      0  0

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    hmmm, je me suis mal expliqué je vais répépéter alors:
    Je voudrais faire disparaître la date du champ "heure" et faire disparaître l'heure du champ "jour".

    En clair, je ne voudrais que la date dans le champ "jour" et que l'heure dans le champ "heure_arrivee".
      0  0

Discussion fermée
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Erreur de syntaxe dans l'expression INSERT INTO
    Par bboy_lil_mak dans le forum Bases de données
    Réponses: 7
    Dernier message: 09/12/2013, 20h26
  2. Réponses: 6
    Dernier message: 02/11/2013, 17h23
  3. Réponses: 5
    Dernier message: 19/10/2006, 14h28
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. Insert Into + Date
    Par BoeufBrocoli dans le forum SQL
    Réponses: 10
    Dernier message: 13/08/2003, 11h23

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