Oracle数据库常用操作命令(5)

(1)授予权限,具备创建物化视图的权限、QUERY  REWRITE的权限,以及对创建物化视图所涉及的表的访问权限和创建表的权限。

通过SCOTT用户来演示

Oracle数据库常用操作命令

(2)创建物化视图日志

Oracle数据库常用操作命令

(3)创建物化视图语句

Oracle数据库常用操作命令

其中:

bulid immediate:该参数的含义是立即创建物化视图,也可以选择build  deffered,该参数说明在物化视图定以后不会立即执行,而是延迟执行,在使用该视图时再创建。

Reffesh fast:刷新数据的类型选择FAST类型。

ON COMMIT:在基表有更新时提交后立即更新物化视图。

ENABLE QUERY REWRITE:启动查询重写功能。在创建物化视图时明确说明启用查询重写功能。

As:定义后面的查询语句。

查询体:物化视图的查询内容,该sql语句的查询结果集输出到物化视图中,保存在由oracle自动创建的表中。

(4)删除物化视图

drop  materialized  view  view_name;

九、序列

序列是用来生成唯一、连续的整数数据库对象。序列通常用来自动生成主键或唯一键的值。序列可以按升序排列,也可以按降序排列。

1.创建序列

Oracle数据库常用操作命令

参数解释:

START WITH:指定要生成的第一个序列号,对于升序序列,其默认值为序列的最小值,对于降序序列,其默认值为序列的最大值。

INCREMENT BY:用于指定序列号之间的间隔,默认值为1,如果n为正值,则生成的序列将按升序排序,如果n为负值,则生成的序列按降序排列。

MAXVALUE:指定序列可以生成的最大值

NOMAXVALUE:如果指定了NOMAXVALUEoracle将升序序列的最大值设为1027,将降序序列的最大值设为-1

MINVALUE:指定序列最小值。MINVALUE必须小于或等于START WITH的值,并且必须小于MAXVALUE

NOMINVALUE:如果指定了NOMINVALUEoracle将升序序列的最小值设为1,或将降序列的值设置为-1026

CYCLE:指定序列在达到最大值或最小值后,将继续从头开始生成值。

NOCYCLE:指定序列在达到最大值或最小值后,将不在继续生成值。

CHCHE:使用CACHE选项可以预先分配一组序列号,并将其保留在内存中,这样可以更快地访问序列号,当用完缓存中的所有序列号时,oracle将生成另一组数值,并将其保留在缓存中。

NOCACHE:使用NOCACHE选项,则不会为加快访问速度而预先分配序列号。如果在创建序列时忽略了CACHENOCACHE选项,oracle将默认缓存20个序列号。

2.访问序列

创建了序列之后,可以通过NEXTVALCURRVAL伪列来访问该序列的值。可以从伪列中选择值。但是不能操纵他们的值。

NETXVAL:创建序列后第一次使用NEXTVAL时,将返回该序列的初始值。以后再引用NETXVAL时,将使用INCREMENT BY子句的值来增加序列值,并返回这个新值

CURRVAL:返回序列的当前值,即最后一次引用NEXTVAL时返回的值

举例:

创建序列

Oracle数据库常用操作命令

创建表

Oracle数据库常用操作命令

插入数据

Oracle数据库常用操作命令

查看数据

Oracle数据库常用操作命令

查看序列的当前值

Oracle数据库常用操作命令

Currval返回序列的当前值,即最后一次引用NEXTVAL时返回的值

测试currval

Oracle数据库常用操作命令

重启实例之后再次写入数据发现从40开始,因为按创建序列的要求,每次会拿30个序列号放到缓存中,实例重启后,缓存中的序列就会消失

Oracle数据库常用操作命令

3.更改序列

Alter sequence命令用于修改序列的定义。如果要进行下列操作,则会修改序列。

 设置或删除MINVALUEMAXVALUE

  修改增量值

修改缓存中的序列号的数目

不能修改序列的START WITH参数

4.删除序列

十、同义词

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8d67ee994b4dd7a410beb5012c277738.html