Bonsoir,
Je recherche à savoir comment former une expression logique dans la clause CHECK lors de la création d'une table(CREATE TABLE).
Merci d'avance
Bonsoir,
Je recherche à savoir comment former une expression logique dans la clause CHECK lors de la création d'une table(CREATE TABLE).
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE TABLE ... CHECK ( 1=1 )
.
Merci pour ta réponse , mais je recherchait plutot la syntaxe pour ecrire l'expression logique.Par exemple la syntaxe permettant de verifier si un attribut qui est une chaine de caractère ne posséde que des lettres.
Merci
Salut,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 SQL> CREATE TABLE tmp_test(f1 INT, f2 VARCHAR(10) CONSTRAINT tmp_f2 CHECK(f2 LIKE 'a%')); Table créée. SQL> INSERT INTO tmp_test 2 VALUES (1, 'az00-a'); 1 ligne créée. SQL> INSERT INTO tmp_test 2 VALUES (1, 'a*99-a'); 1 ligne créée. SQL> INSERT INTO tmp_test 2 VALUES (1, 'b*99-a'); INSERT INTO tmp_test * ERREUR à la ligne 1 : ORA-02290: violation de contraintes (SCOTT.TMP_F2) de vérification SQL> INSERT INTO tmp_test 2 VALUES (1, 'b1'); INSERT INTO tmp_test * ERREUR à la ligne 1 : ORA-02290: violation de contraintes (SCOTT.TMP_F2) de vérification SQL>
Publications: http://schelabi.developpez.com/
Un petit tour dans la doc http://download.oracle.com/docs/cd/B....htm#sthref681
et http://download.oracle.com/docs/cd/B...2.htm#g1053592
Code : Sélectionner tout - Visualiser dans une fenêtre à part CHECK ( decode(col1, 1, 1) BETWEEN 'A' AND 'Z' and decode(col1, 2, 1) BETWEEN 'A' AND 'Z' and ... )
.
Vous pouvez aussi utiliser une expression régulière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part CHECK(regexp_like(f2, '^[[:alpha:]]+$'))
Tout d'abord merci , c'est exactement ce que je cherchais.
Maintenant j'essaie de verifier qu'une date est correcte (comprise entre un minimum et un maximum) mais je ne vois pas trop comment faire.Si quelqu'un pourrait m'aider ;
Merci
Et bien, ce n'est pas très compliqué...
Code : Sélectionner tout - Visualiser dans une fenêtre à part CHECK(MaDate BETWEEN Date_Min AND Date_Max)
Partager