oracle对象(同义词和序列)
数据库对象简介:
Oracle 数据库对象又称模式对象
数据库对象是逻辑结构的集合,最基本的数据库对象是表
其他数据库对象包括:
同义词:

私有同义词:

必须用系统管理员身份授权才行。
--给用户授予权限、 GRANT CONNECT , CREATE SYNONYM TO xiaohong;--创建同义名权限 GRANT SELECT ON SCOTT.EMP TO xiaohong; GRANT DELETE ON SCOTT.EMP TO xiaohong; GRANT UPDATE ON SCOTT.EMP TO xiaohong;
创建私有同义词
--创建私有 谁创建谁用同义词 create synonym mytable for scott.emp
创建共有同义词:
--创建共有同义词(系统管理员的身份创建)(所有用户都能访问) create public synonym mytable03 for scott.emp
同义词是真实存在的,只要不删除就一直存在, 给自己使用(私有同义词)或者给所有人一起使用(公共同义词)
操作同义词:

序列·:
序列是用于生成唯一、连续序号的对象(计数器)
序列可以是升序的,也可以是降序的
使用CREATE SEQUENCE语句创建序列

一般情况下值设置前三个,其他都是默认值。
(序列是单独存在的,和数据库里的表没有关系)
创建序列:
--创建序列 create sequence myseq start with 1 increment by 1;
访问序列:
通过序列的伪列来访问序列的值
NEXTVAL 返回序列的下一个值
CURRVAL 返回序列的当前值
让序列和类建立关系(吧序列的值插入到表里去):
insert into java1019 values(myseq.nextval,'小红','女','山东淄博',to_date('1998-08-08','yyyy-mm-dd'));
连续插入三次后显示:

调用一次nextval就走一下,不可能往回走就是个计数器,我们插入的计数器的值。
查询当前序列添加到几了
select myseq.currval from dual

currval是查询当前的值,nextval是查询下一个值
nextval 调用有一次 走一下 调用一次 走一下不能随便调用
例如:
先随便调用下nextval
select myseq.nextval from dual
然后插入一条数据:
insert into java1019 values(myseq.nextval,'小红','女','山东淄博',to_date('1998-08-08','yyyy-mm-dd'));
查询显示后:


不能修改序列从几开始的参数。
删除序列:
--删除序列 drop sequence myseq
删除序列 对表不造成任何印象 因为 序列是单独存在的和表没有任何关系。
浙公网安备 33010602011771号