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

Administration Oracle Discussion :

Champ nommé "Date"


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut Champ nommé "Date"
    Bonjour

    Dans le cadre d'une migration mysql->oracle, j'ai une table foireuse sous mysql qui possède un champs qui a judicieusement été nommé "date".
    C'est possible d'avoir une table sous oracle avec un champ qui s'appele "date" ?

    Actuellement, j'ai une erreur : ORA-00904 - Identificateur non valide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE m_table (
      id number(21),
      name varchar2(255) default '',
      date date default '01-JAN-0001',
      return number(3) default '1',
      stacktrace clob,
      output clob,
      PRIMARY KEY (id)
    );
    Merci d'avance ;-)

  2. #2
    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
    Par défaut
    Oui c'est possible mais très vivement déconseillé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE m_table (
      id number(21),
      name varchar2(255) DEFAULT '',
      "date" date DEFAULT '01-JAN-0001',
      RETURN number(3) DEFAULT '1',
      stacktrace clob,
      output clob,
      PRIMARY KEY (id)
    );
    Attention dans ce cas le nom de la colonne est dans ce cas casse dépendant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> select "date" from m_table;
    no rows selected
     
    SQL>  select "DATE" from m_table;
     select "DATE" from m_table
            *
    ERROR at line 1:
    ORA-00904: invalid column name

  3. #3
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Il faut encadrer date par " ". Ce qui donne "date"

    par contre attention, le format de ta date est incorrect

    EDIT : Pas assez rapide

  4. #4
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Ca marche nickel les " " ^_^

    par contre attention, le format de ta date est incorrect
    C'est a dire ?
    Je n'ai pas eu de problème a la création pourtant.

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Rakken
    Ca marche nickel les " " ^_^



    C'est a dire ?
    Je n'ai pas eu de problème a la création pourtant.

    --
    Rakken
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date date DEFAULT '01-JAN-0001',
    Une date n'est pas une chaine de caractère. ça marche parce que ta base fait une transfo du format 'DD-MON-YYYY' en une date, mais sur une autre base ça ne marchera peut être pas, tout dépend du format par défaut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date date DEFAULT To_DATE('01-JAN-0001','DD-MON-YYYY')

  6. #6
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Oki, je changerai mes scripts de création de table alors.

    Merci ;-))

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

Discussions similaires

  1. [MySQL] Qu'est-ce que je risque avec un champ nommé 'date' ?
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/11/2006, 15h45
  2. UPDATE en ajoutant un 0 sur un champ de type "char"
    Par doum2 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/03/2006, 14h22

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