龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle同义词和其序列的使用方案简介

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要讲述的是 Oracle 同义词和其序列的基本使用方案,其实Oracle同义词通俗的讲就是一个实际对象的替代名称,它的主要功能是巧妙地利用Oracle同义词来操纵各种不同的相关

以下的文章主要讲述的是Oracle同义词和其序列的基本使用方案,其实Oracle同义词通俗的讲就是一个实际对象的替代名称,它的主要功能是巧妙地利用Oracle同义词来操纵各种不同的相关用户模式下的对象。

通过select user from dual查看当前使用的用户。

访问其它用户模式下的表:

  1. select * from scott.dept;  

表示查看scott用户模式下的dept表数据。

同义词分为private 和 public,private仅创建的用户可以使用。public则所有用户都可以使用。

语法:

  1. CREATE SYNONYN DEPT FOR SCOTT.DEPT; 

表示将scoot用户下的dept表,创建为当前用户的Oracle同义词。默认为private。

通过drop synonym dept删除。

  1. create public synonym dept for scott.dept; 

表示创建一个公共的,在其它用户模式下也同样的进行查询。

序列

作用:独立的事务,按一定的增量自动增加或减少,一组整型值。

语法:

  1. create sequence myseq start with 1 

从1开始

increment by 1 --每次增加1

order --从小到大排序

  1. nocycle; 

为了避免取到重复值,不进行序列循环,此项为影响性能,使数据库被迫访问磁盘。

使用方法:

  1. select myseq.nextval from dual; 

通过nextval取得下一个值。

通过

  1. select myseq.currval from dual; 

查看当前序列的值。

如果数据库重启,不能马上通过currval来查看序列的当前值,要通过nextval取完值后,再通过currval查看当前序列的值。

desc dba_sequences 查看dba下sequence的情况。同样包括all_sequences,user_sequences.

修改序列递增是:

  1. ALTER SEQUENCE MYSEQ INCREMENT BY 3; 

通过修改的方式修改序列的递增量。但不能修改序列的当前值。 以上的相关内容就是对Oracle同义词与序列基本使用的介绍,望你能有所收获。

精彩图集

赞助商链接