oracle物化視圖如何在上億的表建立,操作方法如下。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鐘祥網(wǎng)站建設(shè)、鐘祥做網(wǎng)站、鐘祥網(wǎng)站設(shè)計(jì)、鐘祥網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鐘祥企業(yè)網(wǎng)站模板建站服務(wù),十多年鐘祥做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
設(shè)備:聯(lián)想電腦
系統(tǒng):win8
軟件:PL/SQL Developer
1、首先在打開的軟件中,創(chuàng)建手動(dòng)刷新的物化視圖。
2、查詢物化視圖mv_address中的數(shù)據(jù)。
3、接著向地址表t_address中插入一條數(shù)據(jù)。
4、通過(guò)PL/SQL手動(dòng)刷新物化視圖。或者通過(guò)命令手動(dòng)刷新物化視圖(需要在命令窗口中執(zhí)行)。
5、刷新之后,物化視圖中的數(shù)據(jù)才會(huì)生成,如下圖所示就完成了。
1、視圖(View)創(chuàng)建使用,視圖(View)實(shí)際上是一張或者多張表上的預(yù)定義查詢,這些表稱為基表。從視圖中查詢信息與從表中查詢信息的方法完全相同。只需要簡(jiǎn)單的SELECT?FROM即可。
2、OR REPLACE:如果視圖已經(jīng)存在,則替換舊視圖。
3、FORCE:即使基表不存在,也可以創(chuàng)建該視圖,但是該視圖不能正常使用,當(dāng)基表創(chuàng)建成功后,視圖才能正常使用。
4、NOFORCE:如果基表不存在,無(wú)法創(chuàng)建視圖,該項(xiàng)是默認(rèn)選項(xiàng)。
5、 WITH READ ONLY:默認(rèn)可以通過(guò)視圖對(duì)基表執(zhí)行增刪改操作,但是有很多在基表上的限制(比如:基表中某列不能為空,但是該列沒有出現(xiàn)在視圖中,則不能通過(guò)視圖執(zhí)行insert操作),WITH READ ONLY說(shuō)明視圖是只讀視圖,不能通過(guò)該視圖進(jìn)行增刪改操作。現(xiàn)實(shí)開發(fā)中,基本上不通過(guò)視圖對(duì)表中的數(shù)據(jù)進(jìn)行增刪改操作。
視圖具有以下優(yōu)點(diǎn):可以限制用戶只能通過(guò)視圖檢索數(shù)據(jù)。這樣就可以對(duì)最終用戶屏蔽建表時(shí)底層的基表。可以將復(fù)雜的查詢保存為視圖。可以對(duì)最終用戶屏蔽一定的復(fù)雜性。 限制某個(gè)視圖只能訪問(wèn)基表中的部分列或者部分行的特定數(shù)據(jù)。這樣可以實(shí)現(xiàn)一定的安全性。從多張基表中按一定的業(yè)務(wù)邏輯抽出用戶關(guān)心的部分,形成一張?zhí)摂M表。
create
or
replace
view
視圖名
as
...;
基本的創(chuàng)建命令:
比如:創(chuàng)建表book的一張視圖
create
or
replace
view_book
as
select
*
from
book
where
book_id
='001';
使用視圖,就用select
*
from
view_book;
當(dāng)然了,使用
圖形化界面
更方便。
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]
OR REPLACE :若所創(chuàng)建的試圖已經(jīng)存在,ORACLE自動(dòng)重建該視圖;
FORCE :不管基表是否存在ORACLE都會(huì)自動(dòng)創(chuàng)建該視圖;
NOFORCE :只有基表都存在ORACLE才會(huì)創(chuàng)建該視圖:
alias :為視圖產(chǎn)生的列定義的別名;
subquery :一條完整的SELECT語(yǔ)句,可以在該語(yǔ)句中定義別名;
WITH CHECK OPTION :插入或修改的數(shù)據(jù)行必須滿足視圖定義的約束;
WITH READ ONLY :該視圖上不能進(jìn)行任何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;
--給用戶授權(quán)創(chuàng)建視圖
-- grant create all view to zdgshr; 所有數(shù)據(jù)庫(kù)都能創(chuàng)建視圖的用戶
grant create view to zdgshr;
--創(chuàng)建簡(jiǎn)單視圖
create view temp
as
select * from zd_member_basic_info;
--測(cè)試
select * from temp where rownum=1;
--創(chuàng)建簡(jiǎn)單視圖:只讀
create or replace view temp1
as
select id,job_number,name,dept_id from zd_member_basic_info
with read only;
--測(cè)試
insert into temp1(id,job_number,name,dept_id) values(1,0,'張三',1300);
視圖的刪除:
DROP VIEW VIEW_NAME語(yǔ)句刪除視圖。
刪除視圖的定義不影響基表中的數(shù)據(jù)。
只有視圖所有者和具備DROP VIEW權(quán)限的用戶可以刪除視圖。
視圖被刪除后,基于被刪除視圖的其他視圖或應(yīng)用將無(wú)效。
四、視圖分為簡(jiǎn)單視圖和復(fù)雜視圖。
簡(jiǎn)單視圖只從單表里獲取數(shù)據(jù);復(fù)雜視圖從多表里獲取數(shù)據(jù)。
簡(jiǎn)單視圖不包含函數(shù)和數(shù)據(jù)組;復(fù)雜視圖包含函數(shù)和數(shù)據(jù)組。
簡(jiǎn)單視圖可以實(shí)現(xiàn)DML操作;復(fù)雜視圖不可以。
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='而過(guò)';
create or replace view temp
as
select * from zd_member_basic_info order by name;
網(wǎng)頁(yè)題目:oracle如何建表視圖,oracle根據(jù)視圖建表
標(biāo)題鏈接:http://vcdvsql.cn/article44/heghhe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)建站、品牌網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)