oracle数据库创建视图

创建视图的优点
------------------------------------------------------------------------------------------------------
1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。
2. 可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。
3. 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。
4. 从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。

语法
-------------------------------------------------------------------------------------------------------
CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name
AS
SELECT查询
[WITH READ ONLY CONSTRAINT]

语法解析
- -------------------------------------------------------------------------------------------------------
1. OR REPLACE:如果视图已存在,则替换旧视图。
2. FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。
3. NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。
4. WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。
示例
----------------------------------------------------------------------------------------------------------
CREATE OR REPLACE VIEW station_view
AS
SELECT dd.*,ds.station_name
FROM stationsite ds ,stationdaydata dd
WHERE ds.station_no = dd.station_no
and ds.station_no not like '%Y%'

你可能感兴趣的:(oracle数据库创建视图)