转:Oracle同义词与序列基本使用

    同义词:同义词是一个对象的替代名称
  作用:利用同义词可以很方便地操纵不同用户模式下的对象。

  通过
select user from dual查看当前使用的用户。
  
访问其它用户模式下的表:
  
select * from scott.dept; 表示查看scott用户模式下的dept表数据。
  同义词分为
private publicprivate仅创建的用户可以使用。public则所有用户都可以使用。
  
语法:
  
CREATE SYNONYN DEPT FOR SCOTT.DEPT;
  表示将scoot用户下的dept,创建为当前用户的同义词。默认为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 查看dbasequence的情况。同样包括all_sequences,user_sequences.
  修改序列递增是:
  
ALTER SEQUENCE MYSEQ
  INCREMENT BY 3;
  通过修改的方式修改序列的递增量。但不能修改序列的当前
魔兽就是毒瘤,大家千万不要玩。
原文地址:https://www.cnblogs.com/tracy/p/1712755.html