create view empvie10創(chuàng)建一個(gè)視圖
as
select emopno,ename,job
from emp
where deptno = 10
邏輯上上的一個(gè)表,沒有實(shí)際的保存數(shù)據(jù),
視圖根據(jù)查詢表的數(shù)據(jù)變化,
只能引用查詢表的數(shù)據(jù)
對(duì)emp做了一個(gè)不同視角的查詢
視圖一般只能管理員權(quán)限才能使用
對(duì)數(shù)據(jù)范圍做一個(gè)權(quán)限,保護(hù)敏感數(shù)據(jù);
限制其他用戶對(duì)數(shù)據(jù)表的訪問,
create or replace 創(chuàng)建或者替換
with read only 默認(rèn) 只讀選項(xiàng)
確保視圖是不能進(jìn)行增刪改(dml)
序列
序列是按照一定規(guī)則能自動(dòng)增加/減少數(shù)字的一種數(shù)據(jù)庫(kù)對(duì)象
通??梢允褂眯蛄凶詣?dòng)的生成主鍵值;
create sequence 創(chuàng)建序列
sequencename 序列對(duì)象的名字
increment by n 序列連續(xù)兩個(gè)值之間的間隔n默認(rèn)1
START WITH n :序列起始值n,該項(xiàng)省略,起始值為1
MAXVALUE n :序列最大值;NOMAXVALUE :指定序列無最大值
MINVALUE n :序列最小值;NOMINVALUE :指定序列無最小值
CYCLE|NOCYCLE:表示序列在達(dá)到最大值或最小值之后是否繼續(xù)產(chǎn)生序列值,NOCYLE表示不再產(chǎn)生,NOCYLE是默認(rèn)選項(xiàng)。
CACHE n|NOCACHE:表示序列值被服務(wù)器預(yù)先分配并存儲(chǔ)在內(nèi)存中,NOCACHE表示不預(yù)先分配并存儲(chǔ),CACHE 20是默認(rèn)選項(xiàng)
CREATE SEQUENCE test_seq
START WITH 10 --序列從10開始
INCREMENT BY 2 --序列每次增加2
MAXVALUE 100 --序列最大值100
MINVALUE 9 --序列最小值9
CYCLE --序列循環(huán),每次增加2,一直到100后回到9從新開始
CACHE 10; --緩存中序列值個(gè)數(shù)為10
NEXTVAL和CURRVAL偽列
CURRVAL:表示序列返回的當(dāng)前值;
NEXTVAL:表示序列返回的下一個(gè)值;
CURRVAL在被引用之前,必須先使用NEXTVAL來產(chǎn)生一個(gè)序列值;
可用語句 序列名.CURRVAL或 序列名.NEXTVAL來訪問序列
dual 測(cè)試的單行函數(shù) 僅有一行一列
序列用途
NEXTVAL和CURRVAL偽列
您可以在下列情況使用NEXTVAL 和 CURRVAL:
SELECT 語句的SELECT列表中,但不包括子查詢中的SELECT語句
INSERT 語句中的子查詢SELECT列表中
INSERT 語句的VALUES子句中
UPDATE 語句的SET子句中
下列情況不能使用 NEXTVAL 和 CURRVAL:
在視圖的SELECT列表中
包含DISTINCT關(guān)鍵字的 SELECT語句中
含有 GROUP BY, HAVING, ORDER BY子句的SELECT語句中
SELECT, DELETE, UPDATE 語句的子查詢中
含有 DEFAULT表達(dá)式的 CREATE TABLE、 ALTER TABLE 語句中