oracle資料庫創建視圖
A. 在oracle中創建一個視圖
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]
OR REPLACE :若所創建的試圖已經存在,ORACLE自動重建該視圖;
FORCE :不管基表是否存在ORACLE都會自動創建該視圖;
NOFORCE :只有基表都存在ORACLE才會創建該視圖:
alias :為視圖產生的列定義的別名;
subquery :一條完整的SELECT語句,可以在該語句中定義別名;
WITH CHECK OPTION :插入或修改的數據行必須滿足視圖定義的約束;
WITH READ ONLY :該視圖上不能進行任何DML操作。
CREATE OR REPLACE VIEW dept_sum_vw
(name,minsal,maxsal,avgsal)
AS
SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)
FROM emp e,dept d
WHERE e.deptno=d.deptno
GROUP BY d.dname;
--給用戶授權創建視圖
-- grant create all view to zdgshr; 所有資料庫都能創建視圖的用戶
grant create view to zdgshr;
--創建簡單視圖
create view temp
as
select * from zd_member_basic_info;
--測試
select * from temp where rownum=1;
--創建簡單視圖:只讀
create or replace view temp1
as
select id,job_number,name,dept_id from zd_member_basic_info
with read only;
--測試
insert into temp1(id,job_number,name,dept_id) values(1,0,'張三',1300);
視圖的刪除:
DROP VIEW VIEW_NAME語句刪除視圖。
刪除視圖的定義不影響基表中的數據。
只有視圖所有者和具備DROP VIEW許可權的用戶可以刪除視圖。
視圖被刪除後,基於被刪除視圖的其他視圖或應用將無效。
四、視圖分為簡單視圖和復雜視圖。
簡單視圖只從單表裡獲取數據;復雜視圖從多表裡獲取數據。
簡單視圖不包含函數和數據組;復雜視圖包含函數和數據組。
簡單視圖可以實現DML操作;復雜視圖不可以。
create or replace view temp1
as
select distinct name,job_number,dept_id from zd_member_basic_info
with read only;
delete from zd_member_basic_info where name='而過';
create or replace view temp
as
select * from zd_member_basic_info order by name;
B. Oracle PLsql 如何建立視圖
1、首先打開第三方工具,PLSQL
2、登錄
3、打開sql窗口
4、在新打開的頁面寫自己的視圖創建語句即可,要根據自己的需求來寫。
如:
CREATEVIEWygb_viewASSELECT*FROM員工表WHERE員工表.性別=『女』withcheckoption
5、寫好後,點執行,即菜單中形似齒輪的圖標。
6、創建成功。
C. oracle怎麼建視圖
基於表或其他視圖來創建視圖,目的將一些復雜的查詢簡化,提高查詢速度 。如:
CREATE VIEW v_name AS SELECT b.dname,a.ename FROM emp a,dept b
WHERE a.deptno=b.deptno ;
查詢部門名和員工名 通過建立視圖,v_name 視圖就等同於SELECT b.dname,a.ename FROM emp a,dept b
WHERE a.deptno=b.deptno 這樣可以大大的簡化程序