大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
创建sequence:
create sequence seq_test
increment by 1
start with 1
noMaxValue
noCycle
cache 10;
create sequence seq_test2
minvalue 1
maxvalue 21
start with 1
increment by 1
cache 20
cycle
order;
minValue: 指定序列最小值。
maxValue: 指定序列最大值。
increment by: 指定序列增长步长,可以为正(升序)、负整数(降序),但不能为0。
start with:指定序列起始数,默认为序列最小值。
noMaxValue:无最大值(实际为10^27或-1),默认。
noMinValue:无最小值(实际为1或-10^26),默认。
cycle:指定序列达到最大值或最小值后继续从头开始生成。
noCycle:不循环生成,默认。
cache:指定数据库内存中预分配的序列值个数,以便快速获取,最小cache值为2。如果系统关闭或者其它情况将会导致序列不连续,也可以设置为nocache。
noCache:不指定缓存数,默认缓存20。
order:指定order条件保证序列按请求顺序生成。
noOrder:不保证序列按请求顺序生成。
删除sequence:
drop sequence seq_test;
drop sequence seq_test2;
查看sequence值:
–查看sequence当前值
select seq_test.currval from dual;
–查看sequence下一个值,sequence发生变化
select seq_test.nextval from dual;
修改sequence:
alter sequence seq_test increment by 2;
alter sequence seq_test maxValue 99999999999;
修改sequence的初始值:
–将当前seq_test的值增加1000
alter sequence seq_test increment by 1000;
select seq_test.nextval from dual;
alter sequence seq_test increment by 1;
select seq_test.currval from dual;
sequence在表中应用:
–新建表
create table t_test(
uuid varchar2(20)
);
–插入sequence值
insert into t_test values(seq_test.nextval);
insert into t_test values(seq_test.nextval);
insert into t_test values(seq_test.nextval);
insert into t_test values(seq_test.nextval);
insert into t_test values(seq_test.nextval);
–查询
select * from t_test;
–删除表
drop table t_test;
sequence和触发器配合应用:
–新建表
create table t_test(
uuid varchar2(20),
name varchar2(20)
);
–新建触发器
create or replace trigger trg_test before insert on t_test for each row
begin
select seq_test.nextval into :new.uuid from dual;
end;
–插入数据
insert into t_test(name) values(‘n1’);
insert into t_test(name) values(‘n2’);
insert into t_test(name) values(‘n3’);
insert into t_test(name) values(‘n4’);
insert into t_test(name) values(‘n5’);
–查询
select * from t_test;
–删除
drop trigger trg_test;
drop table t_test;
查看当前用户下的sequence:
select * from all_sequences;
select * from user_sequences;
select * from user_sequences where sequence_name = upper(‘seq_test’);
select * from user_sequences where sequence_name = upper(‘seq_test2’);
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180266.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...