nn:not
null
非空约束
uk:unique
key
唯一约束
pk:primary
key
主键约束
fk:foreign
key
外键约束
ck:check
条件约束
一张表必须要有一个字段为主键,这段不能为空,并且值唯一,oracle中一般将该字段定义为数值类型,用序列为该字段插入值;其他字段的约束要根据业务需求来定。
给表中的字段添加约束可以在创建表时添加,也可以在修改时添加。
创建表必须给出表名、字段名、字段类型,约束条件不是必须的。
例如:创建如下表时
create
table
tb_constraint_1
(
empno
number
primary
key,
--主键约束
ename
varchar2(20)
not
null,
--非空约束
varchar2(60)
unique,
--唯一约束
sal
number(5)
check(sal>1500),
--核查约束
deptno
number(4)
references
tb_dept(deptno)
--外键约束
)
修改已创建表中某个字段的约束:
alter
table
tb_constraint_1
add
constraint
yueshumingzi
unique(ename
)--修改姓名字段值必须唯一
创建表的外键约束时,外键字段的类型必须和关联表的主键的类型一致。
表名和字段名的长度oracle默认约定为长度不能大于30个字符
创建好的表,字段可以修改,以下是修改
添加表
删除表字段
格式:
alter
table
表名
add
新列列名
列数据类型
[default
0
not
null]
(添加列默认值为0)
alter
table
表名
drop
列名
(删除列)
alter
table
表名
alter
column
列名
新添加的数据类型
(修改列)
可以是让oracle 忽略就存在表内的重复值,并且新插入的数据遵守唯一约束.*** 作步骤
1.检查当前oracle 唯一约束创建的索引的unique的列的值. 必须是not unique.
2.如果是unique这要删除该约束重新建,新建的约束先disable,并且要deferred
3.这时候检查oracle 唯一约束创建的索引的unique的列的值你会发现该索引时not unique
4.接下来你就可以enable 该约束了
明天天帖出示例,现在没时间
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)