oracle的创建视图,oracle 创建视图

1,视图概念:视图是一个逻辑结构,本身不包含任何数据,是一个可命名的select语句。

透过视图可以看到底层数据,但是视图和数据是相互独立的。

2,创建视图需要有DBA权限。

3,语法:CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view[(alias[,alias]..)]

AS subquery;

4,create or replace 表示若视图存在则替换掉;

如:

SQL> create view testview3

2  as

3  select * from test3;

视图已创建。

SQL> create view testview3

2  as

3  select * from test3;

create view testview3

*

第 1 行出现错误:

ORA-00955: 名称已由现有对象使用

修改视图:

SQL> create or replace view testview3

2  as

3  select * from test3;

视图已创建。

5,force 表示若表不存在则强制创建视图;

如:SQL> create view tt

2  as

3  select * from tt;

create view tt

*

第 1 行出现错误:

ORA-01731: 出现循环的视图定义

SQL> create force view tt

2  as

3  select * from tt;

警告: 创建的视图带有编译错误。

6,查看视图结构:

SQL> desc testview3;

名称                                      是否为空? 类型

------------------------------------- -------- ----------------------------

ID                                        NOT NULL NUMBER(38)

LNAME                                              VARCHAR2(20)

FNAME                                              VARCHAR2(20)

7,在使用聚合函数创建视图时,需制定别名;

SQL> create view testview4

2  as

3  select id,sum(id) from test3

4  group by id;

select id,sum(id) from test3

*

第 3 行出现错误:

ORA-00998: 必须使用列别名命名此表达式

SQL> create view testview4

2  as

3  select id,sum(id) test3_id from test3

4  group by id;

视图已创建。

8,更新视图:

SQL> select * from testview5;

TEST5_ID TEST5_NAME           TEST5_FNAME

---------- -------------------- --------------------

3 kong                 sales

2 hh

SQL> update testview5 set test5_name='kong_gai'

2  where test5_id=3;

已更新 1 行。

SQL> select * from testview5;

TEST5_ID TEST5_NAME           TEST5_FNAME

---------- -------------------- --------------------

3 kong_gai             sales

2 hh

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值