请注意,本文编写于 912 天前,最后修改于 912 天前,其中某些信息可能已经过时。
同义词
--同义词允许在其他用户下查询当前用户的表而不用添加用户前缀,个人理解为快捷方式
--创建同义词需要权限
grant create any synonym to username;
--创建同义词
create [public] synonym mytablename for [username.]tablename;
--删除同义词
drop public synonym mytablename;
视图
--视图可以理解为一个查询语句的封装,无入参,和数据表一样的使用
--创建视图示例
create or replace view v_viewname
as
select t.column1, t.column2, t.column3
from user1.table1 t
where t.column1 = 'value1';
--删除视图
drop view v_viewname;
--[or replace] 用于替换已存在的视图
序列
--创建序列 基本语法
create sequence seq_seqname
[increment by n]
[start with n]
[{maxvalue minvalue n|nomaxvalue}]
[{cycle|nocycle}]
[{cache n|nocache}];
--increment by 序列中两个数字的差,默认为1
--start with 序列初始值,默认为1
--maxvalue 序列最大值,minvalue 序列最小值,默认 nomaxvalue 没有最大值
--cycle 序列值达到 maxvalue minvalue 时循环
--catch 序列缓冲区内存块大小,默认为20
--用法
--创建示例
create sequence seq_seqnameincrement by 1 start with 1;
--查询序列下一个值,查询时会更新序列
select seq_seqname.nextval from dual;
--查询序列当前值
select seq_seqname.currval from dual;
--删除序列
drop sequence seq_seqname;
--修改序列,修改序列不会修改序列已产生的值
alter sequence seq_seqname increment BY 10 maxvalue 10000 cycle;