ITPub博客

首页 > 应用开发 > IT综合 > SG_007_CHAPTER 8

SG_007_CHAPTER 8

原创 IT综合 作者:chenai79921 时间:2009-10-23 14:09:14 0 删除 编辑

Managing Views:

Creating and Modifying Views:

Create view view_name AS

Select column1,column2

From table

Where condition

Using Defined Column Names:

Create view view_name (column1,column2,…..)

AS select xxxx

From table

Where condition.

如果建立一个视图是使用select *的话,如果之后修改主表的话,必须重新建立视图。

Creating Views with Errors:

建立视图的时候,使用FORCE参数。(NO FORCE是默认的)

Create force view view_name AS

Select *

From table1

即使没有table1,视图照样建立。但是进去视图的时候,会出错。

Creating Read-Only Views:

Create view view_name AS

Select column1,column2

From table

Where condition

WITH READ ONLY

Creating Constraints on Views:

只允许Primary key, foreign key, unique key

Modifying Views:

改变视图的definition,使用CREATE VIEW OR REPLACE。

ALTER VIEW 用来compile一个非法的view,或者添加,删除约束。

Changing a View’s Definition:

如果使用create view or replace,而不是使用drop 和re-create视图,那么被赋予在视图上的权限被保留。

Recompiling a View:

当主表被修改后,视图变为不合法。Oracle 自动recompile视图,当视图被access时。

也可以使用ALTER VIEW显视得recompile视图。

当视图被recompile后,所有依赖视图的对象都变为invalid。

Dropping a View:

drop视图,视图的定义从数据字典中删除,赋予视图上的权限也被drop。依赖于视图的其他视图和存储过程都变为invalid。

Drop VIEW test_view

Using Views:

对视图的dml操作都影响到基本表,

Inserting, Updating, and Deleting Data through Views:

可以对视图执行dml语句,只有当视图没有如下的定义:

DISTINCT

GROUP BY

START WITH

CONNECT BY

ROWNUM

UNION, UNION ALL , INTERSECT , MINUS

Subquery in the SELECT clause

聚合函数

WITH CHECK OPTION:

当通过某个conditon从基本表中建立了视图,如果此时向视图插入一个违反condition的数据,照样可以正常。当建立视图的时候加上WITH CHECK OPTION参数,此时再向视图插入一个违反condition的数据,会出错。

Using Join Views:

多表链接形成视图。其中一个表为key-preserved,因为这个表的主键,在视图中也是主键。另外的表不是key-preserved。

只能通过视图,update key-preserved表。如果视图定义为WITH CHECK OPTION, 就不能update。

通过DML只能,通过视图只能同时对一个表进行修改。

Viewing Allowable DML Operations:

可以通过查询 USER_UPDATABLE_COLUMNS

ALL_UPDATABLE_COLUMNS

DBA_UPDATABLE_COLUMNS

来确定哪些视图是否允许updata inserte delete操作。

Using Inline Views:

放在from 语句中。

Order by 不能出现在子查询中。Inline view中可以有order by。

Performing Top-‘N’ Analysis:

Select *

From table

Where rownum<=10

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11997930/viewspace-1028076/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: SG_007_CHAPTER 7
下一篇: SG_007_CHAPTER 9
请登录后发表评论 登录
全部评论
  • 博文量
    19
  • 访问量
    14160