首页 > 数据库 >Oracle约束、注释、序列

Oracle约束、注释、序列

时间:2023-02-01 20:00:12浏览次数:48  
标签:constraint 注释 序列 添加 表名 Oracle 主表 字段名

一、添加约束的语法:
alter table 表名 add constraint 约束名 约束类型 约束说明

1、添加主键:
1.1、添加单一主键
alter table 表名 add constraint pk_*** primary key(字段名)

1.2、添加复合(组合)主键
alter table 表名 add constraint pk_*** primary key(字段名1,字段名2,...)

2、添加唯一约束:
alter table 表名 add constraint uq_*** unique(字段名)

3、添加默认约束
alter table 表名 modify(字段名 default 默认值)

4、添加检查约束
ALTER TABLE "Student"
add constraint ck_BirthDay CHECK("BirthDate" >
to_date('1980-01-01 20:08:08','yyyy-mm-dd HH24:mi:ss'));

5、添加外键
alter table 表名 add constraint fk_*** foreign key(从表中的字段名)
references 主表(主表中的字段名);

5.1、级联删除(当主表中的主键被删除时,同时删除从表中的外键)
references "主表"("主表中的字段名") on delete cascade;

5.2、设置为空(当主表中的主键被删除时,将表中的外键设置为空)
references "主表"("主表中的字段名") on delete set null;

二、删除约束:
ALTER TABLE "表名" DROP constraint 约束名;

三、添加注释:
1、添加表注释
comment on table "表名" is '注释名';

2、添加行注释
comment on column "表名"."BirthDate" is '注释名';

四、序列:
4.1创建序列表
create sequence 序列名
start with 起始值
increment by 自增值,写成一个负值就可以降序
minvalue 0 设置最小值,保证从1开始
nomaxvalue 没有最大值
cache 缓存值
cycle 循环

4.2、使用序列
insert into "表名" values(序列名.nextval,其他的字段值);

4.3、注意
nextval方法:调用一次增加一个,不管SQL语句执行是否成功
4.4、currv

al:查看当前序列值
select seq_stuNo.currval from dual;

23.下列有关修改序列说法错误的是( BD )(多选)
A:可以修改序列的步长(递增值)
B:可以修改序列的初始值
C:可以修改序列的最大值
D:可以修改序列的名称

标签:constraint,注释,序列,添加,表名,Oracle,主表,字段名
From: https://blog.51cto.com/u_15907719/6031802

相关文章