oracle 创建视图、修改视图、删除视图、利用视图操作基本表

时间:2024-01-31 08:25:44

转:http://blog.sina.com.cn/s/blog_6b58d2fa0100rgvw.html

1.使用create or replace view命令创建视图

语法格式:

create or replace view 视图名

as select 查询子句

例子:

create or replace view  tb_user_view1 as select count(username) shuliang,username from tb_user group by username order by shuliang asc

2.使用create or replace view命令修改视图

语法格式:

create or replace view 视图名

as select 查询子句

例子:

create or replace view tb_user_view1 as select * from tb_user where username=\'a\'

3.使用drop view 命令删除视图

格式:

drop view 视图名

例子:

drop view tb_user_view1

4.利用视图操作基本表

---添加数据行(直接影响基本表)

insert into tb_user_view1 values(8,\'insert\',5)

---修改数据行(影响基本表)

update tb_user_view1 set username=\'update\' where bh=3

---删除数据行(直接影响基本表)

delete from tb_user_view1 where bh=2

多表关联创建视图

格式:CREATE OR REPLACE FORCE VIEW 视图名(列表名1,列表名2,……,列表名n)as select  查询子句

例子:

CREATE OR REPLACE FORCE VIEW  tb_username_address (bh, username, address_id, address) AS
  SELECT u.bh,u.username,a.bh,a.address FROM tb_user u,tb_address a WHERE  u.address_id=a.bh

修改视图

格式:CREATE OR REPLACE FORCE VIEW 视图名(列表名1,列表名2,……,列表名n)as select  查询子句

例子:
CREATE OR REPLACE FORCE VIEW  tb_username_address (bh, username, address_id, address) AS
  SELECT u.bh,u.username,a.bh,a.address FROM tb_user u,tb_address a WHERE  u.address_id=a.bh and a.address=\'xinxiang\'
drop view 命令删除视图

格式:

drop view 视图名

例子:drop view tb_username_address

删除数据行(影响基本表):

例子:delete tb_username_address where bh=5

视图来自多个基本表时,不允许添加数据。

修改数据行(影响基本表):

例子:update tb_username_address set username=\'updaten\' where bh=6