创建序列
create sequence se_owners
--提取下一个值
select se_owners.nextval from dual
--提取当前值
select se_owners.currval from dual
--创建复杂序列
--有最大值的非循环序列
create sequence se_test
increment by 10
start with 10
maxvalue 300
minvalue 5
--查询序列 当下一个值到达300时,继续执行会报异常
select se_test.nextval from dual
select se_test.currval from dual
--带有循环的序列
--在带有循环的序列中,第一次从开始值进行增长
--当到达最大值是,再次查询下一个值,会从最小值开始增长
create sequence se_test2
increment by 10
start with 10
maxvalue 200
minvalue 5
cycle;
--查询序列
select se_test2.nextval from dual
select se_test2.currval from dual
--带缓存的序列
--最小值必须小于等于每次增长的值
--当最小值小于每次增长的值时,cache可以等于循环次数
--当最小值等于每次增长的值时,cache必须小于循环次数
create sequence se_test4
increment by 10
start with 10
maxvalue 300
minvalue 10
cycle
cache 29;
--修改和删除序列
--使用Alter sequence 语句修改序列,不能修改序列的start with参数
alter sequence se_test3 maxvalue 400 cycle;
select se_test4.nextval from dual;
--删除序列
drop sequence se_test4;
---------------------------------同义词
--创建和使用同义词:
--私有同义词:
--需求:为表 T_OWNERS 创建 ( 私有 )同义词 名称为 OWNERS
create synonym owners for T_owners;
--使用同义词查询
select * from owners;
--公有同义词:
--为表 T_OWNERS 创建( 公有 )同义词 名称为 OWNERS2:
create public synonym owners2 for T_owners;
select * from owners2;
-----------索引
--我们经常要根据业主名称搜索业主信息,所以我们基于业主表的 name 字
--段来建立索引。
create index index_owners_name on T_owners(name);
select * from t_Owners where name = '刘华';
--创建一个表,进行测试
create table T_indexTest(
id number,
name varchar(30)
);
--在表中插入百万条数据
begin
for i in 1..1000000
loop
insert into T_indexTest values(i,'AA'||i);
end loop;
commit;
end;
--为表的name字段创建索引
create index index_test on T_indexTest(name);
--根据索引和id 分别进行查询,理论上通过索引的查询时间比通过id 查询的时间短
select * from T_indextest where id=1896;--0.015
select * from T_indextest where name = 'AA1896';--0.015
--唯一索引
--需求:在业主表的水表编号一列创建唯一索引
select * from T_owners;
create unique index index_owners_watermeter on T_owners(watermeter);
--复合索引 根据地址和门牌号对学员表创建索引,语句如下:
create index index_owners on T_owners(addressid,housenumber);
--反向键索引 reverse
--位图索引 我们在 T_owners 表的 ownertypeid 列上建立位图索引,语句:
create bitmap index index_owners on T_owners(ownertypeid);
oracle数据库 序列相关
最新推荐文章于 2023-10-11 16:41:40 发布