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:]]+$'))
Partager