創(chuàng)建視圖語(yǔ)法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
? ? [(alias[, alias]...)]
AS subquery
? ? [WITH CHECK OPTION [CONSTRAINT constraint]]
? ? [WITH READ ONLY]
語(yǔ)法解析:
OR REPLACE??? :若所創(chuàng)建的試圖已經(jīng)存在,則替換舊視圖;
FORCE:不管基表是否存在ORACLE都會(huì)自動(dòng)創(chuàng)建該視圖(即使基表不存在,也可以創(chuàng)建該視圖,但是該視圖不能正常使用,當(dāng)基表創(chuàng)建成功后,視圖才能正常使用);
NOFORCE??:如果基表不存在,無(wú)法創(chuàng)建視圖,該項(xiàng)是默認(rèn)選項(xiàng)(只有基表都存在ORACLE才會(huì)創(chuàng)建該視圖)。
alias:為視圖產(chǎn)生的列定義的別名;
subquery? :一條完整的SELECT語(yǔ)句,可以在該語(yǔ)句中定義別名;
WITH CHECK OPTION? :插入或修改的數(shù)據(jù)行必須滿足視圖定義的約束
WITH READ ONLY???????:默認(rèn)可以通過(guò)視圖對(duì)基表執(zhí)行增刪改操作,但是有很多在基表上的限制(比如:基表中某列不能為空,但是該列沒(méi)有出現(xiàn)在視圖中,則不能通過(guò)視圖執(zhí)行insert操作),WITH READ ONLY說(shuō)明視圖是只讀視圖,不能通過(guò)該視圖進(jìn)行增刪改操作。現(xiàn)實(shí)開(kāi)發(fā)中,基本上不通過(guò)視圖對(duì)表中的數(shù)據(jù)進(jìn)行增刪改操作。
drop view view_name 刪除視圖