oracle添加表约束的2种方法
2011-08-31 12:44
337 查看
方法1:在列的级别上定义约束
create table product (Pname varchar2(20) unique,
Pdate date not null,
PID number(5) primary key,check(PID>10000 AND PID<=99999),
Ploc char(30) default '北京')
要点就是在列的结尾直接添加,如果同一列有多个约束,通过逗号来分隔
有个问题,通过数字字典来查询约束,我们得到的是系统提供的名字并且约束的类型不好区分。
SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';
CONSTRAINT_NAME CONSTRAINT_TYPE
------------------------------------------------------------ --
SYS_C009539 C
SYS_C009540 C
SYS_C009541 P
SYS_C009542 U
U:表示unique
P:primary key
C:check或者default
查看列的默认值:
SQL> select column_name,datA_dEfault from useR_tab_columns where table_name = 'PRODUCT';
COLUMN_NAME DATA_DEFAULT
------------------------------------------------------------ --------------------------------------------------------------------------------
PNAME
PDATE
PID
PLOC '北京'
方法二在表级别上定义约束:
Create table product(PID number(5),
PNAME varchar2(20),
PDATE date constraint NN_PDATE_PRODUCT not null,
PLOC char(30) default ‘北京’,
FKDEPTNO number(5),
Constraint UK_PNAME_PRODUCT unique(PNAME),
Constraint PK_PID_PRODUCT primary key(PID),
Constraint CK_PID_PRODUCT check(PID>10000 AND PID<9999),
Constraint FK_DEPTNO foreign key (FKDEPTNO) references dept(DEPTNO)
);
SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';
CONSTRAINT_NAME CO
------------------------------------------------------------ --
NN_PDATE_PRODUCT C
CK_PID_PRODUCT C
PK_PID_PRODUCT P
UK_PNAME_PRODUCT U
FK_DEPTNO_PRODUCT R
删除约束
Alter table product drop primary key;
Alter table product drop constraint PK_PID_PRODUCT;
Alter table product drop unique (PNAME);
Alter table product modify(PDATE,null);
Alter table product modify(PLOC,default null)/modify(PLOC ,default ‘威海’);--更改默认值
Alter table product drop constraint FK_DEPTNO;
外键、check约束只能使用约束名来删除,其他约束如果有约束名也可以使用约束名来删除
增加约束
Alter table product add primary key (PID);
Alter table product add constraint PK_PID primary key(PID);
Alter table product add unique(PNAME);
Alter table product modify(PDATE, not null);
Alter table product modify(PLOC ,default ‘威海’);
相关文章推荐
- oracle添加表约束的2种方法
- Oracle 中创建数据库表 随表添加外键约束的方法
- Oracle中约束的添加方法总结
- Oracle外键约束之在修改表时添加外键约束
- iBatis为业务对象添加可分页方法,扩展方法,调用Oracle
- add constraint方法添加约束
- Ubuntu下添加开机启动项的2种方法
- Oracle中在pl/sql developer修改表的2种方法
- 数据库中的五种约束及其添加方法
- Ubuntu下添加开机启动项的2种方法
- 数据库中的五种约束及其添加方法
- MySQL5添加外键约束错误解决方法
- oracle 表迁移方法 (二) 约束不失效
- ireport5.5 添加oracle驱动方法
- oracle 表约束的添加、修改以及约束的禁用启用
- dategrid添加勾选模板列方法2种
- CPLEX 解决大规模计算 变量 约束 添加方法
- oracle 添加删除非空约束
- 免安装Oracle客户端使用PL/SQL连接Oracle的2种方法
- Ubuntu下添加开机启动项的2种方法