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 :

clause MODIFY avec Check


Sujet :

SQL Oracle

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    988
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 988
    Par défaut clause MODIFY avec Check
    Bonjour,
    Pouvez vous me dire s'il est possible de modifier une colonne de table de base de données avec les clauses modify et check
    Par exemple, si j'ai crée une table EMP avec ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE emp( empno number(4)  not null,
    		ename varchar2(10),
    		job varchar2(9),
    		mgr number(4),
    		hiredate date,
    		sal number(7,2),
    		comm  number(7,2),
    		deptno number(2)  not null);
    et inséré des données dedans et qu'ensuite je souhauite que les valeurs insérées dans la champ sal soinet supérieures à 1500, puis je le faire avec cette requête

    ALTER TABLE EMP modify(sal CONSTRAINT check > 1500);

    Est il possible d'utiliser cette requête si j'ai déjà defini une contrainte check sur le champ sal( par exemple check sal >1000) , à la création de la table emp.

    Je vous remercie beaucoup de votre aide.

    Cordailement.

    Nathalie Harbonne

  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
    essaye la syntaxe ALTER TABLE DROP/ADD CONSTRAINT.

    Tu ne peux pas changer une check constraint, tu dois en créer une nouvelle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL> create table lsc_t(x number);
    Table created.
    SQL> alter table lsc_t modify (x check (x>1));
    Table altered.
    SQL> select constraint_name,search_condition 
         from user_constraints where table_name='LSC_T';
    CONSTRAINT_NAME SEARCH_CONDITIO
    --------------- ---------------
    SYS_C003741     x>1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL> alter table lsc_t modify(x check (x>2));
    Table altered.
    SQL> select constraint_name,search_condition 
         from user_constraints where table_name='LSC_T';
    CONSTRAINT_NAME SEARCH_CONDITIO
    --------------- ---------------
    SYS_C003741     x>1
    SYS_C003742     x>2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> alter table lsc_t drop constraint  SYS_C003741;
    Table altered.
    SQL> select constraint_name,search_condition 
         from user_constraints where table_name='LSC_T';
    CONSTRAINT_NAME SEARCH_CONDITIO
    --------------- ---------------
    SYS_C003742     x>2

Discussions similaires

  1. Expression réguliére avec CHECK
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/09/2005, 17h38
  2. Réponses: 5
    Dernier message: 06/09/2005, 02h50
  3. Simuler Vue modifiable avec postgresql
    Par mijoya dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 04/04/2005, 16h48
  4. problème insoluble avec CHECK
    Par NiBicUs dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 25/03/2004, 17h13
  5. Clause IN avec null
    Par Pari dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2004, 12h46

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