Oracle约束
作者: aben_xml, 出处:blog, 责任编辑: 唐小若,
2008-08-29 09:15
什么是约束?约束是表级强制执行的规则,当表中数据有相互依赖性时,可保护数据不被删除。本文详细介绍了Oracle中约束,包括在建表的同时创建,建表后创建,可定义列级或表级约束,可通过数据字典表查看约束。 可通过数据字典表查看约束.
什么是约束?约束是表级强制执行的规则,当表中数据有相互依赖性时,可保护数据不被删除。
Oracle 有如下类型的约束:
| NOT NULL UNIQUE Key PRIMARY KEY FOREIGN KEY CHECK |
Oracle使用SYS_Cn格式命名约束.
创建约束:
在建表的同时创建
建表后创建
可定义列级或表级约束.
可通过数据字典表查看约束.
建表时创建约束
| create table OTL_NICOTINE_GRADE ( ID NUMBER not null, SEASON_NO NUMBER(4) not null, RECEIPT_NO NUMBER(8) not null, GRADE VARCHAR2(10) not null, PROPORTION NUMBER(5,2) not null, WEIGHT NUMBER(10,2) not null, VALUE NUMBER(12,2) not null, constraint PK_OTL_NICOTINE_GRADE primary key (ID, GRADE), constraint FK_OTL_NICO_REFERENCE_OTL_CHEC foreign key (ID) references OTL_CHECK_CHEM (ID) ) |
建表后添加约束
| ALTER TABLE (table_name) ADD ( CONSTRAINT (foreign key constraint name) FOREIGN KEY (field name ) REFERENCES primary_table_name ( primary_table_primary_index_field ) SQL> create table emplyees( 2 employee_id number(6), 3 last_name varchar2(25) not null, 4 salary number(8,2), 5 commission_pct number(2,2), 6 hire_date date, 7 constraint emp_hire_date_1 not null, 8 CONSTRAINT dept_dname_uk UNIQUE(emp_name) 9 ); 表已创建。 SQL> 1 select constraint_name,table_name 2 from dba_constraints 3 where table_name='EMPLYEES' CONSTRAINT_NAME TABLE_NAME ------------------------------ ------------------------------ SYS_C003012 EMPLYEES EMP_HIRE_DATE_1 EMPLYEES |
定义主键约束PRIMARY KEY
- 本文关键词:

