Oracle PL/SQL/Constraints/Constraint Types
Версия от 13:45, 26 мая 2010; (обсуждение)
Constraint types: not null
SQL> --Constraint types
SQL> --There are five integrity constraints in Oracle.
SQL> --Not Null
SQL>
SQL> create table myTable (
2 a number not null,
3 b number null,
4 c number
5 );
Table created.
SQL>
SQL> insert into myTable values ( 1, null, null);
1 row created.
SQL> insert into myTable values ( 2, 3, 4);
1 row created.
SQL> insert into myTable values (null, 5, 6);
insert into myTable values (null, 5, 6)
*
ERROR at line 1:
ORA-01400: cannot insert NULL into ("SYS"."MYTABLE"."A")
SQL>
SQL> drop table myTable;
Table dropped.
SQL>
Contraint type: Unique
SQL> --Unique Key
SQL>
SQL>
SQL> create table myTable (
2 a number unique,
3 b number
4 );
Table created.
SQL>
SQL> desc myTable;
Name Null? Type
----------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------
A NUMBER
B NUMBER
SQL>
SQL> -- if a column is not explicitely defined as not null, nulls can be inserted multiple times:
SQL>
SQL> insert into myTable values (4, 5);
1 row created.
SQL> insert into myTable values (2, 1);
1 row created.
SQL> insert into myTable values (9, 8);
1 row created.
SQL> insert into myTable values (6, 9);
1 row created.
SQL> insert into myTable values (null,9);
1 row created.
SQL> insert into myTable values (null,9);
1 row created.
SQL>
SQL> select * from myTable;
A B
---------- ----------
4 5
2 1
9 8
6 9
9
9
6 rows selected.
SQL>
SQL> drop table myTable;
Table dropped.
SQL>