/* 序列 */
序列和视图一样,不占有实际的存储空间,只是在数据库中保存它的定义
创建序列
create sequence emp_seq
increment by 1
start with 1
nomaxvalue
nocycle
cache 10
引用序列
insert into emp
values(emp_seq.nextval,'zhaokeke')
可以利用下面的查询来看emp_seq序列的当前值:
SQL> select emp_seq.currval from dual;
CURRVAL
----------
1
注意:在第一次引用currval伪列之前,必须引用过一次序列的nextval伪列,用于预先初始化序列的值
修改序列(不能修改启始值)
alter sequence emp_seq
increment by 10
maxvalue 10000
cycle
cahche 20
删除序列
drop sequence emp_seq
序列数据字典
dba_sequences/all_sequences/user_sequences
/* 同义词 */
同义词是表,索引和视图或者其它模式对象的一个别名
ORACLE可以创建两种类型的同义词:
* 公有同义词:公有同义词是由一个特殊的用户组PUBLIC所拥有,数据库中所有的用户都可以使用公有同义词
要创建公有同义词必须要有create public synonym系统权限
* 私有同义词:私有同义词由创建它的用户或模式所拥有,用户可以控制其它用户是否有权限使用属于自己的私有同义词
创建同义词
create synonym cls for class
create public synonym pub_emp for jward.emp
删除同义词
drop synonym cls
drop public synonym pub_emp(要有drop public synonym系统权限)
同义词数据字典
all_synonyms/dba_synonyms/user_synonyms