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 :

CREATE DOMAIN sous Oracle


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut CREATE DOMAIN sous Oracle
    Bonjour,

    Je dois gérer une table Evaluation concernant des notes d'étudiants dans différentes matières.

    Pour l'instant, toutes ces notes sont codées par un DECIMAL(4,2), et pour chaque ligne, je dois mettre des contraintes de vérification du style NoteMatiere1 DECIMAL(4,2) CHECK (NoteMatiere1 BETWEEN 0 AND 20) (et ainsi de suite pour la bonne douzaine de matières).

    Très sincèrement, cela m'embête énormément de devoir faire un copier-coller des contraintes pour chaque attribut de note de la table : ça alourdit le fichier de création des tables.

    J'ai donc voulu créer un nom de domaine, comme sous MySQL, avec la syntaxe suivante (en respectant la syntaxe SQL standard) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE DOMAIN Note AS DECIMAL(4,2) CHECK (VALUE BETWEEN 0.0 AND 20.0);
    J'aurai pu réutiliser ce nom de domaine pour la définition des attributs dans la table, et faciliter sa lecture. Mais, lors de la définition du domaine sous SQL/PLUS, j'ai eu le message d'erreur suivant
    "ORA-00901: commande CREATE non valide.
    Comment se fait-il qu'ORACLE ne gère pas cet aspect de la norme SQL? Avez-vous une solution? Est-ce que la solution passe par la définition d'un type défini par l'utilisateur*?


    Merci pour vos réponses

    Cordialement

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    copier coller est sûrement la meilleure solution.

    je ne créerais sûrement pas un type par paresse de taper plusieurs fois CHECK (n between 0 and 20)

Discussions similaires

  1. Pas de JOIN sous Oracle (vraiment dommage...)
    Par Isildur dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/03/2007, 11h28
  2. Cryptage de colonnes sous Oracle
    Par Julian Roblin dans le forum SQL
    Réponses: 9
    Dernier message: 28/11/2006, 18h24
  3. comment s'incremente un index sous oracle ?
    Par elitol dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/07/2004, 16h16
  4. LOCATE sous Oracle 8
    Par SubZero2 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/05/2004, 13h47
  5. Recherche de texte dans un blob sous oracle
    Par Invité dans le forum Bases de données
    Réponses: 5
    Dernier message: 25/05/2004, 11h11

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