最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Oracle數(shù)據(jù)庫(kù)12c新特性總結(jié)(四)

【TechTarget中國(guó)原創(chuàng)】本文是Oracle數(shù)據(jù)庫(kù)12c新特性的系列文章的第四篇,作者將重點(diǎn)介紹一些對(duì)開(kāi)發(fā)者而言非常有用的新特性。相關(guān)閱讀:Oracle 數(shù)據(jù)庫(kù)12c新特性總結(jié)(一)、Oracle 數(shù)據(jù)庫(kù)12c新特性總結(jié)(二)、Oracle 數(shù)據(jù)庫(kù)12c新特性總結(jié)(三)

為稷山等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及稷山網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、稷山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

第四部分包括:

  • 如何在子表包含數(shù)據(jù)的情況下截?cái)嘁粋€(gè)主表
  • 限制Top-N查詢(xún)結(jié)果的記錄
  • SQL*Plus的各種增強(qiáng)
  • 會(huì)話(huà)級(jí)序列
  • WITH語(yǔ)句的改善
  • 擴(kuò)展數(shù)據(jù)類(lèi)型

截?cái)啾鞢ASCADE

在之前的版本中,在子表引用一個(gè)主表以及子表存在記錄的情況下,是不提供截?cái)啻酥鞅聿僮鞯摹6?2c中的帶有CASCADE操作的TRUNCATE TABLE可以截?cái)嘀鞅碇械挠涗?,并自?dòng)對(duì)子表進(jìn)行遞歸截?cái)?,并作?strong>DELETE ON CASCADE服從外鍵引用。由于這是應(yīng)用到所有子表的,所以對(duì)遞歸層級(jí)的數(shù)量是沒(méi)有CAP的,可以是孫子表或是重孫子表等等。

這一增強(qiáng)擯棄了要在截?cái)嘁粋€(gè)主表之前先截?cái)嗨凶颖碛涗浀那疤?。新?strong>CASCADE語(yǔ)句同樣也可以應(yīng)用到表分區(qū)和子表分區(qū)等。

SQL> TRUNCATE TABLE CASCADE; 
SQL> TRUNCATE TABLE PARTITION CASCADE;

如果對(duì)于子表的外鍵沒(méi)有定義ON DELETE CASCADE 選項(xiàng),便會(huì)拋出一個(gè)ORA-14705錯(cuò)誤。

對(duì)Top-N查詢(xún)結(jié)果限制記錄

在之前的版本中有多種間接手段來(lái)對(duì)頂部或底部記錄獲取Top-N查詢(xún)結(jié)果。而在12c中,通過(guò)新的FETCH FIRST|NEXT|PERCENT語(yǔ)句簡(jiǎn)化了這一過(guò)程并使其變得更為直接。為了從EMP表檢索排名前10的工資記錄,可以用以下新的SQL語(yǔ)句:

SQL> SELECT eno,ename,sal FROM emp ORDER BY SAL DESC 
FETCH FIRST 10 ROWS ONLY;

以下示例獲取排名前N的所有相似的記錄。例如,如果第十行的工資值是5000,并且還有其他員工的工資符合排名前N的標(biāo)準(zhǔn),那么它們也同樣會(huì)由WITH TIES語(yǔ)句獲取。

SQL> SELECT eno,ename,sal FROM emp ORDER BY SAL DESC 
FETCH FIRST 10 ROWS ONLY WITH TIES;

以下示例限制從EMP表中獲取排名前10%的記錄:

SQL> SELECT eno,ename,sal FROM emp ORDER BY SAL DESC 
FETCH FIRST 10 PERCENT ROWS ONLY;

以下示例忽略前5條記錄并會(huì)顯示表的下5條記錄:

SQL> SELECT eno,ename,sal FROM emp ORDER BY SAL DESC 
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY;

所有這些限制同樣可以很好的應(yīng)用于PL/SQL塊。

BEGIN 
SELECT sal BULK COLLECT INTO sal_v FROM EMP 
FETCH FIRST 100 ROWS ONLY; 
END;

對(duì)SQL*Plus的各種增強(qiáng)

SQL*Plus的隱式結(jié)果:12c中,在沒(méi)有實(shí)際綁定某個(gè)RefCursor的情況下,SQL*Plus從一個(gè)PL/SQL塊的一個(gè)隱式游標(biāo)返回結(jié)果。這一新的dbms_sql.return_result過(guò)程將會(huì)對(duì)PL/SQL 塊中由SELECT 語(yǔ)句查詢(xún)所指定的結(jié)果加以返回并進(jìn)行格式化。以下代碼對(duì)此用法進(jìn)行了描述:

SQL> CREATE PROCEDURE mp1 
res1 sys_refcursor; 
BEGIN 
open res1 for SELECT eno,ename,sal FROM emp; 
dbms_sql.return_result(res1); 
END; 
SQL> execute mp1;

當(dāng)此過(guò)程得以執(zhí)行,會(huì)在SQL*Plus上返回格式化的記錄。

顯示不可見(jiàn)字段:在本系列文章的第一部分,我已經(jīng)對(duì)不可見(jiàn)字段的新特性做了相關(guān)闡述。當(dāng)字段定義為不可見(jiàn)時(shí),在描述表結(jié)構(gòu)時(shí)它們將不會(huì)顯示。然而,你可以通過(guò)在SQL*Plus提示符下進(jìn)行以下設(shè)置來(lái)顯示不可見(jiàn)字段的相關(guān)信息:

SQL> SET COLINVISIBLE ON|OFF

以上設(shè)置僅對(duì)DESCRIBE 命令有效。目前它還無(wú)法對(duì)不可見(jiàn)字段上的SELECT 語(yǔ)句結(jié)果產(chǎn)生效果。

會(huì)話(huà)級(jí)序列

在12c中現(xiàn)在可以創(chuàng)建新的會(huì)話(huà)級(jí)數(shù)據(jù)庫(kù)序列來(lái)支持會(huì)話(huà)級(jí)序列值。這些序列的類(lèi)型在有會(huì)話(huà)級(jí)的全局臨時(shí)表上最為適用。

會(huì)話(huà)級(jí)序列會(huì)產(chǎn)生一個(gè)獨(dú)特范圍的值,這些值是限制在此會(huì)話(huà)內(nèi)的,而非超越此會(huì)話(huà)。一旦會(huì)話(huà)終止,會(huì)話(huà)序列的狀態(tài)也會(huì)消失。以下示例解釋了創(chuàng)建一個(gè)會(huì)話(huà)級(jí)序列:

SQL> CREATE SEQUENCE my_seq START WITH 1 INCREMENT BY 1 SESSION; 
SQL> ALTER SEQUENCE my_seq GLOBAL|SESSION;

對(duì)于會(huì)話(huà)級(jí)序列,CACHE, NOCACHE, ORDER 或 NOORDER 語(yǔ)句會(huì)予以忽略。

WITH語(yǔ)句的改善

在12c中,你可以用SQL更快的運(yùn)行PL/SQL函數(shù)或過(guò)程,這些是由SQL語(yǔ)句的WITH語(yǔ)句加以定義和聲明的。以下示例演示了如何在WITH語(yǔ)句中定義和聲明一個(gè)過(guò)程或函數(shù):

WITH 
PROCEDURE|FUNCTION test1 (…) 
BEGIN 
END; 
SELECT FROM table_name; 
/

盡管你不能在PL/SQL單元直接使用WITH語(yǔ)句,但其可以在PL/SQL單元中通過(guò)一個(gè)動(dòng)態(tài)SQL加以引用。

擴(kuò)展數(shù)據(jù)類(lèi)型

在12c中,與早期版本相比,諸如VARCHAR2, NAVARCHAR2以及 RAW這些數(shù)據(jù)類(lèi)型的大小會(huì)從4K以及2K字節(jié)擴(kuò)展至32K字節(jié)。只要可能,擴(kuò)展字符的大小會(huì)降低對(duì)LOB數(shù)據(jù)類(lèi)型的使用。為了啟用擴(kuò)展字符大小,你必須將MAX_STRING_SIZE的初始數(shù)據(jù)庫(kù)參數(shù)設(shè)置為EXTENDED

要使用擴(kuò)展字符類(lèi)型需要執(zhí)行以下過(guò)程:

1. 關(guān)閉數(shù)據(jù)庫(kù)

2. 以升級(jí)模式重啟數(shù)據(jù)庫(kù)

3. 更改參數(shù): ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED;

4. 執(zhí)行 utl32k.sql as sysdba : SQL> @?/rdbms/admin/utl32k.sql

5. 關(guān)閉數(shù)據(jù)庫(kù)

6. 以讀寫(xiě)模式重啟數(shù)據(jù)庫(kù)

對(duì)比LOB數(shù)據(jù)類(lèi)型,在ASSM表空間管理中,擴(kuò)展數(shù)據(jù)類(lèi)型的字段以SecureFiles LOB加以存儲(chǔ),而在非ASSM表空間管理中,它們則是以BasciFiles LOB進(jìn)行存儲(chǔ)的。

注意:一旦更改,你就不能再將設(shè)置改回STANDARD。



原文鏈接: http://www.searchdatabase.com.cn/showcontent_75994.htm



當(dāng)前標(biāo)題:Oracle數(shù)據(jù)庫(kù)12c新特性總結(jié)(四)
網(wǎng)頁(yè)路徑:http://fisionsoft.com.cn/article/gigigj.html