以下的文章主要讲述的是Oracle同义词和其序列的基本使用方案,其实Oracle同义词通俗的讲就是一个实际对象的替代名称,它的主要功能是巧妙地利用Oracle同义词来操纵各种不同的相关用户模式下的对象。
通过select user from dual查看当前使用的用户。
访问其它用户模式下的表:
- select * from scott.dept;
表示查看scott用户模式下的dept表数据。
同义词分为private 和 public,private仅创建的用户可以使用。public则所有用户都可以使用。
语法:
- CREATE SYNONYN DEPT FOR SCOTT.DEPT;
表示将scoot用户下的dept表,创建为当前用户的Oracle同义词。默认为private。
通过drop synonym dept删除。
- create public synonym dept for scott.dept;
表示创建一个公共的,在其它用户模式下也同样的进行查询。
序列
作用:独立的事务,按一定的增量自动增加或减少,一组整型值。
语法:
- create sequence myseq start with 1
从1开始
increment by 1 --每次增加1
order --从小到大排序
- nocycle;
为了避免取到重复值,不进行序列循环,此项为影响性能,使数据库被迫访问磁盘。
使用方法:
- select myseq.nextval from dual;
通过nextval取得下一个值。
通过
- select myseq.currval from dual;
查看当前序列的值。
如果数据库重启,不能马上通过currval来查看序列的当前值,要通过nextval取完值后,再通过currval查看当前序列的值。
desc dba_sequences 查看dba下sequence的情况。同样包括all_sequences,user_sequences.
修改序列递增是:
- ALTER SEQUENCE MYSEQ INCREMENT BY 3;
通过修改的方式修改序列的递增量。但不能修改序列的当前值。 以上的相关内容就是对Oracle同义词与序列基本使用的介绍,望你能有所收获。
【编辑推荐】