欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

1Z0-051-DDL-創(chuàng)建同義詞和序列

創(chuàng)建同義詞和序列

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比桐廬網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式桐廬網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋桐廬地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

1、同義詞(synonym)

同義詞是對象的備選名稱。分為公有同義詞和私有同義詞。

【創(chuàng)建公有synonym】

SQL>create public synonym emp for pb.employees@prod;

那么所有用戶只需輸入:

SQL>select * from emp;

 

私有同義詞是模式對象。他們要么必須在自己的模式中,要么必須用模式名限定。公有同義詞的存在于模式無關(guān)。

創(chuàng)建同義詞語法:

CREATE  [PUBLIC] SYNONYM synonym for OBJECT;

 

刪除同義詞的語法:

DROP   [PUBLIC] SYNONYM synonym ;

 

與視圖一樣,在下次訪問同義詞是自動重新編譯,也可以顯式地完成編譯:

ALTERSYNONYM synonym COMPILE;

 

【案例】

SQL>conn peenboo

SQL>createsynonym emp_s  for emp_anon_v;

SQL>createsynonym dept_s for dept_anon_v;

SQL>createsynonym dsum_s for dep_sum_v;

 

SQL>describeemp_s

SQL>describeemp_anon_v;

 

SQL>select* from emp_s;

SQL>insertinto dept_s values(99,'TEMP_DEPT',1800);

SQL>insertinto emp_s values(sysdate,'AC_MGR',10000,0,99);

SQL>updateemp_s set salary =salary *1.1;

SQL>rollback;

SQL>selectmax(salaries /staff) from dsum_s;

 

SQL>dropview emp_anon_v;

SQL>dropview dept_anon_v;

 

SQL>select* from dep_sum_v;  ---failed

 

SQL>alterview dept_sum_v compile; --failed

 

SQL>dropview dep_sum_v;

SQL>select* from dsum_s;  --failed

SQL>alter synonym emp_s compile; --不會拋出錯誤,基于的視圖已刪除,同義詞也處于破壞狀態(tài)

 

SQL>dropsynonym emp_s;

SQL>dropsynonym dept_s;

SQL>dropsynonym dsum_s;

 

2、序列 (sequence)

Sequence是生成唯一整數(shù)值得結(jié)構(gòu)。是用來生成主鍵的寶貴工具。序列機制與表、行鎖機制及提交或回滾過程無關(guān)。

 

(1)創(chuàng)建序列語法:

CREATESEQUENCE  [shema.]sequencename

[INCREMENTBY number]

[STARTWITH number]

[MAXVALUEnumber | NOMAXVALUE]

[MINVALUEnumber |NOMINVALUE]

[CYCLE|NOCYCLE]

[CACHEnumber | NOCACHE]

[ORDER|NOORDER];

 

  • 1、sequence_name:指定序列的名字

  • 2、STARTWITHstart_num:指定序列從哪個整數(shù)開始,該值默認(rèn)是1

  • 3、INCREMENTBYincrement_num:指定該序列每次增加的增量,該值默認(rèn)為1

  • 4、MINVALUEminimum_num:指定該序列的最小整數(shù),該值必須小于等于start_num,而且必須小于maxmum_num

  • 5、NOMINVALUE:指定升序序列的最小值為1,降序序列的最小值為-10^26

  •   NOMINVALUE為默認(rèn)值

  • 6、MAXVALUEmaximum_num:指定該序列的最大整數(shù),這個值必須大于等于start_num,而且必須大于minimum_num

  • 7、NOMAXVALUE指定升序序列的最大值為10^27,降序序列的最大值為-1

  •   NOMAXVALUE為默認(rèn)值

  • 8、CYCLE:指定該序列即使已經(jīng)達到最大值或最小值也繼續(xù)生成整數(shù),當(dāng)升序序列達到最大值時,下一個生成的值是最小值。當(dāng)降序序列達到最小值時,下一個生成的值是最大值

  • 9、NOCYCLE:指定該序列在達到最大值或最小值之后就不能再生成整數(shù)了,這個是默認(rèn)值

  • 10、CACHEcache_num:指定要保留在內(nèi)存中整數(shù)的個數(shù),默認(rèn)要緩存的整數(shù)為20個,可以緩存的整數(shù)最少為2個,可以緩存的整數(shù)最多為

  • CELL(maximum_num-minimum_num)/ABS(increment_num)

  • 11、NOCACHE指定不緩存任何整數(shù)

  • 12、ORDER確保按照請求次序生成整數(shù),在使用RAC時可以使用這個選項

  • 13、NOORDERED不確保按照請求次序生成整數(shù),這個是默認(rèn)值

SQL>createsequence seq1;

 

(2)使用序列

偽列NEXTVAL選擇下一個值,偽列CURRVAL選擇會話的上一個值(當(dāng)前值)。

注:序列的CURRVAL是發(fā)送給當(dāng)前會話的上一個值,不一定是發(fā)錯的上一個值。直到選擇了NEXTVAL后才能存在CURRVAL。

 

CREATESEQUENCE order_seq start with 10;

Createsequence line_seq start with 10;

 

 

Insertinto orders(order_id,order_date,customer_id)

Values(order_seq.nextval,sysdate,'1000');

Insertinto order_items(order_id,order_item_id,product_id)

Values(order_seq.currval,line_seq.nextval,'A1111');

Insertinto order_items(order_id,order_item_id,product_id)

Values(order_seq.currval,line_seq.nextval,'B111');

 

如果分析師指出序列不能有間隔,那么必須使用另一種生成唯一值的方式。

當(dāng)前訂單可以存儲在該表中,并將它初始化為10:

Createtable current_on(order_number number);

Insertinto current_on values(10);

Commit;

 

然后創(chuàng)建訂單的代碼將變成:

Updatecurrent_on set order_number=order_number + 1;

Insertinto orders(order_number,order_date,customer_number)

Values((select order_number from current_on),sysdate,'1000');

Commit;

 

修改序列的語法如下:

 

ALTERSEQUENCE  [shema.]sequencename

[INCREMENTBY number]

[STARTWITH number]

[MAXVALUEnumber | NOMAXVALUE]

[MINVALUEnumber |NOMINVALUE]

[CYCLE|NOCYCLE]

[CACHEnumber | NOCACHE]

[ORDER|NOORDER];

 

 

Altersequence order_seq cache 1000;

如果希望將該序列重置為它的起始值,唯一的方法就是刪除重建。

Dropsequence order_seq;

本文標(biāo)題:1Z0-051-DDL-創(chuàng)建同義詞和序列
文章起源:http://www.chinadenli.net/article36/jdhesg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管App開發(fā)網(wǎng)站排名域名注冊網(wǎng)站設(shè)計動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)