oracle:视图,闪回归档

视图实际上是一个或多个表上的预查询,这些表称为基表。

从视图中检索信息与从表中检索信息的方法完全相同。通过某些视图,也可以对基表进行DML操作。

视图中并不存储着行,它们始终存储在表中。

视图的优点: 可以将复杂查询编写为视图,并授予用户访问视图的权限。这样就可以对用户屏蔽一定的复杂性。

限制用户只能访问视图,这样就可以阻止用户直接查询表。

限制某个视图只能访问基表中的某些行。这样可以对最终用户屏蔽部分行。

创建并使用视图

CREATE [OR REPLACE] [{FORCE | NOFORCE}] VIEW view_name

[ ( alias_name [,alias_name ...]) ] AS subquery

[ WITH {CHECK OPTION | READ ONLY}  CONSTRAINT constraint_name];

用户必须具有CREATE VIEW 特权才能创建视图。

简单视图:包含一个子查询,只从一个基表中检索数据。

复杂视图:包含一个子查询,且具有以下特点:1.从多个基表中检索数据。2.使用GROUP BY或DISTINCT子句对行分组。3.包含函数调用。

只能对简单视图执行DML操作,复杂视图不支持DML操作。

通过为视图添加CHECK OPTION 约束,可以指定对视图执行的DML操作必须满足子查询的条件。

CREATE VIEW cheap_products_view AS 

SELECT *

FROM products

WHERE price < 15

WITH CHECK OPTION CONSTRAINT cheap_products_view_price

通过为视图添加READ ONLY约束,可以指定该视图是只读的。不允许DML操作。

获取有关视图的信息

1.使用DESCRIBE命令

2.从user_view视图中获取(all_view)

从user_constraints视图中可以获得有关视图约束的信息。

修改视图

CREATE OR REPLACE可以彻底替换一个视图。

ALTER VIEW可以用来修改视图的约束。

ALTER VIEW cheap_products_view

DROP CONSTRAINT cheap_products_view_price;

删除视图

DROP VIEW cheap_products_view;


闪回数据归档

创建闪回数据归档并将它添加到表之后,就可以完成下列任务:

查看行在特定时间戳的情况

查看行在两个时间戳之间的情况

CREATE FLASHBACK ARCHIVE test_archive

TABLESPACE example

QUOTA 1 M

RETENTION 1 DAY;

修改现有表,将数据存储在归档中:

ALTER TABLE store.products FLASHBACK ARCHIVE test_archive;

随后对store.products表所做的修改都会记录在归档中。

查看5分钟以前:

SELECT product_id,name,price

FROM store.products

AS OF TIMESTAMP

(SYSTIMESTAMP - INTERVAL '5' MINUTE);

还可以查看特定时间戳,两个时间戳之间,某个时间戳和当前时间之间的情况。

停止对表的数据归档ALTER TABLE store.products NO FLASHBACK ARCHIVE

创建表时,可以为表指定一个闪回归档。

可以修改闪回归档

可以从闪回归档中清除给定时间戳之前的数据

可以清除闪回归档中的所有数据

可以删除闪回归档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值