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

删除序列 对表不造成任何印象 因为 序列是单独存在的和表没有任何关系。

 

posted @ 2020-03-27 14:53  邢昊天  阅读(385)  评论(0)    收藏  举报