freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)]oracledatabase10g基礎(chǔ)教程-資料下載頁

2024-10-16 22:59本頁面
  

【正文】 用時(shí)都編寫常用的SQL語句和 PL/SQL程序塊,而是可以將他們保存在稱為腳本的文件中。這些腳本文件為那些反復(fù)執(zhí)行的各種任務(wù)而設(shè)計(jì)。 ? 在 SQL*Plus工具中,可以使用 start和 @命令來調(diào)用腳本文件,并且還可以在命令行中傳遞腳本希望使用的任何參數(shù)。 SQL*Plus增強(qiáng)的功能 ? 在 Oracle Database 10g系統(tǒng)中, SQL*Plus不僅沒有被拋棄,而且得到了許多增強(qiáng)。這些增強(qiáng)的功能包括: – spool命令得到了增強(qiáng) – 新增了 3個(gè) define變量 – describe命令得到了增強(qiáng) – SQL*Plus的配置文件新增了一些變化 – 可以對(duì) SQL提示符進(jìn)行變量替換 – 新增了兼容性命令 – 支持在文件名和路徑中使用空格 增強(qiáng)的 spool命令 ? 使用 spool append命令可以把假脫機(jī)內(nèi)容附加在一個(gè)已經(jīng)存在的假脫機(jī)文件中。 ? 在如圖 633所示的示例中,首先使用 spool命令生成 ,然后檢索 emp表的內(nèi)容,接下來關(guān)閉假脫機(jī)。之后,使用帶有 append參數(shù)的 spool命令重新打開,把 select語句的結(jié)果附加在 。最后的結(jié)果如圖634所示 新增的 define變量 ? 在 Oracle Database 10g系統(tǒng)中, SQL*Plus新增了 3個(gè) define變量,即: – _date – _privilege – _user 其他增強(qiáng) ? 以前,在數(shù)據(jù)庫中使用規(guī)則時(shí),如果用戶希望查看這些規(guī)則的信息,那么必須使用一些數(shù)據(jù)字典視圖。 ? 現(xiàn)在,可以直接使用 describe命令快速查看這些規(guī)則的定義信息了。在 Oracle Database 10g系統(tǒng)中,使用 SQL*Plus的describe命令可以查看規(guī)則、規(guī)則集和規(guī)則評(píng)估信息。 第 7章 PL/SQL語言 Oracle Database 10g基礎(chǔ)教程 清華大學(xué)出版社 教學(xué)目標(biāo) 教學(xué)難點(diǎn)和重點(diǎn) 教學(xué)過程 教學(xué)目標(biāo) ? 理解 PL/SQL程序塊的結(jié)構(gòu) ? 掌握如何在 PL/SQL中聲明變量和常量 ? 理解 SQL數(shù)據(jù)類型與 PL/SQL數(shù)據(jù)類型之間的差別 ? 掌握怎樣使用游標(biāo)技術(shù)在用戶代碼中將 SQL與PL/SQL集成 ? 掌握在用戶代碼中如何使用循環(huán)結(jié)構(gòu)和條件語句 ? 掌握怎樣捕獲和控制用戶代碼中的潛在錯(cuò)誤 教學(xué)難點(diǎn)和重點(diǎn) ? PL/SQL程序塊的結(jié)構(gòu) ? 在 PL/SQL中聲明變量和常量 ? SQL數(shù)據(jù)類型與 PL/SQL數(shù)據(jù)類型之間的差別 ? 使用游標(biāo)技術(shù)在用戶代碼中將 SQL與 PL/SQL集成 ? 在用戶代碼中如何使用循環(huán)結(jié)構(gòu)和條件語句 ? 捕獲和控制用戶代碼中的潛在錯(cuò)誤 教學(xué)過程 概述 聲明 PL/SQL數(shù)據(jù)類型 PL/SQL集合 游標(biāo) 控制語句 錯(cuò)誤處理 概述 ? PL/SQL是基于 Ada編程語言的結(jié)構(gòu)化編程語言,是由 Oracle公司從版本 6開始提供的、專用于 Oracle產(chǎn)品的數(shù)據(jù)庫編程語言。 ? 使用 PL/SQL語言,用戶可以編寫過程、函數(shù)、程序報(bào)、觸發(fā)器等 PL/SQL代碼,并且把他們存儲(chǔ)起來。這些存儲(chǔ)在數(shù)據(jù)庫中的代碼,能夠由具有適當(dāng)權(quán)限的數(shù)據(jù)庫用戶重新使用。 聲明 ? 前面已經(jīng)講過,可以聲明將要在 PL/SQL代碼中使用的變量和常量。聲明變量時(shí)可以選擇,是否為變量賦值。但是,常量必須初始化。之后,就可以在指定的 PL/SQL代碼塊中使用這些變量和常量。 變量和常量 ? 用戶使用的所有變量和常量都必須在程序塊中聲明部分定義。對(duì)于每一個(gè)變量,用戶都必須規(guī)定名稱和數(shù)據(jù)類型,以便在可執(zhí)行部分為其指定數(shù)值 ? 常量聲明與變量聲明類似,但是也有一些區(qū)別。首先需要明白,常量的值是不能改變的。因此,用戶必須在聲明常量時(shí)為其賦值,而且還必須在數(shù)據(jù)類型的左邊使用constant保留字。 為變量和常量賦值 ? 用戶可以使用很多方法為變量(在程序塊的聲明部分和可執(zhí)行部分)和常量(在聲明部分)賦值。最常用的賦值方法是使用PL/SQL的賦值運(yùn)算符( :=)。賦值運(yùn)算符的語法如下所示: – variable datatype := expression。 在程序塊的聲明部分 – variable := expression。 在程序塊的可執(zhí)行部分 可視性和作用域 ? 當(dāng)聲明變量和常量時(shí),有一些控制用戶聲明的作用域和可視性的規(guī)則。作用域是用戶能夠引用變量名稱標(biāo)識(shí)符的程序塊。只有用戶處于可以使用非限定名稱引用標(biāo)識(shí)符的程序域時(shí),標(biāo)識(shí)符才是可視的。也就是說,如果在該所用域中,沒有必要使用定義標(biāo)識(shí)符的程序塊名稱作為標(biāo)識(shí)符的前綴,那么在該作用域中,標(biāo)識(shí)符是可視的。 ? 在單獨(dú)的程序塊中,整個(gè)程序塊都是在聲明部分定義的標(biāo)識(shí)符的作用域,標(biāo)識(shí)符都是可視的。 定義不確定內(nèi)容 ? 在前面的許多示例中,我們都引用了 null關(guān)鍵字。 null關(guān)鍵字表示缺少、不可知或不適用等含義。從本質(zhì)上來講, null關(guān)鍵字表示沒有內(nèi)容。 ? 在 PL/SQL程序塊中,如果引用某個(gè)已經(jīng)聲明的變量,且沒有為改變量賦值,那么該變量的值就是 null。也就是說, null通常會(huì)賦予在聲明時(shí)沒有賦值的變量。 使用 %type和 %rowtype ? 可以使用 %type和 %rowtype來聲明變量,而不必指定特定的數(shù)據(jù)類型。這兩個(gè)屬性提供了這種方式:在聲明變量時(shí),不指定變量的數(shù)據(jù)類型,而由表 /視圖列或 PL/SQL程序包變量來定義變量的數(shù)據(jù)類型。 PL/SQL數(shù)據(jù)類型 ? 字符數(shù)據(jù)類型 ? 數(shù)值數(shù)據(jù)類型 ? 邏輯數(shù)據(jù)類型 字符數(shù)據(jù)類型 ? 表 71列出了 SQL和 PL/SQL字符數(shù)據(jù)類型之間的比較。需要說明一點(diǎn)的是,雖然varchar2的兩種子類型,即 varchar和 string,能夠和 varchar2替換使用,但是 Oracle還是建議使用 varchar2。因?yàn)樵跒槲磥淼哪硞€(gè)時(shí)候, varchar可能會(huì)變成與 varchar2不同的數(shù)據(jù)類型。 數(shù)值數(shù)據(jù)類型 ? pls_integer和 binary_integer是 PL/SQL專用的數(shù)據(jù)類型,這兩種數(shù)據(jù)類型不能在定義表結(jié)構(gòu)時(shí)使用。 ? pls_integer是 2^31和 2^31之間有符號(hào)的整數(shù),提供了從 2147483648到 2147483648的范圍。pls_integer具有比 number變量更小的范圍,因此會(huì)占用更少的內(nèi)存。另外, pls_integer能夠利用CPU運(yùn)算器,因此可以比使用數(shù)據(jù)庫 API執(zhí)行算術(shù)運(yùn)算的 number和 binary_integer更快。 邏輯數(shù)據(jù)類型 ? 在 PL/SQL程序塊中可以使用 boolean數(shù)據(jù)類型,即邏輯數(shù)據(jù)類型。該數(shù)據(jù)類型不能用于 SQL中的數(shù)據(jù)庫的列。 ? boolean變量的值可以是 true、 false和 null,它能夠作為條件語句的單一參數(shù)。 PL/SQL集合 ? 大多數(shù)的編程語言中,提供了聲明對(duì)相集合的功能。 PL/SQL也是如此。 ? PL/SQL提供了記錄、 PL/SQL表、VARRAY和嵌套表的集合對(duì)象。 ? 下面詳細(xì)描述這些集合對(duì)象的內(nèi)容。 記錄 ? 在 PL/SQL中,可以聲明一種作為相關(guān)變量集合使用的記錄類型。這些變量的集合稱為記錄??梢圆捎门c建立表時(shí)大體相同的方式,在記錄中存儲(chǔ)一對(duì)多的標(biāo)量屬性 ? 當(dāng)在 PL/SQL中使用記錄時(shí),首先需要定義記錄的結(jié)構(gòu),然后就可以設(shè)定記錄類型的變量。這與通常定義變量的方式不同,因?yàn)榇蠖鄶?shù)標(biāo)量類型或%type/%rowtype類型都已經(jīng)定義了。當(dāng)用戶聲明了記錄類型的變量之后,就可以為記錄變量的單獨(dú)屬性賦值。 PL/SQL表 ? PL/SQL表,有時(shí)也稱為索引表,是可以在PL/SQL例程中使用、能夠模仿數(shù)組的非永久表。 ? 用戶可以定義一個(gè) PL/SQL表類型,然后聲明這種類型的變量。接下來,就可以將記錄增加到用戶的 PL/SQL表中,并且采用與引用數(shù)組元素大體相同的方式引用他們。這些表是一維數(shù)組,不要與 Oracle表對(duì)象混淆。 VARRAY和嵌套表 ? VARRAY是能夠在表列中存儲(chǔ)的 PL/SQL集合。當(dāng)建立 VARRAY時(shí),必須為其提供最大的規(guī)模。 ? 嵌套表也是集合對(duì)象。嵌套表與索引表非常類似。他們之間最主要的區(qū)別是,嵌套表可以存儲(chǔ)在數(shù)據(jù)庫的列中,而索引表不行。 游標(biāo) ? 游標(biāo)是構(gòu)建在 PL/SQL中用來查詢數(shù)據(jù)庫、獲取記錄集合(結(jié)果集)的指針,它可以讓開發(fā)人員一次訪問一行結(jié)果集。這樣,允許程序開發(fā)人員完成需要分別在結(jié)果集中每個(gè)記錄上執(zhí)行的過程代碼的任務(wù)。也就是說,游標(biāo)允許開發(fā)人員以編程方式訪問數(shù)據(jù)。在 Oracle系統(tǒng)中,有兩種經(jīng)常使用的游標(biāo)類型,即顯示游標(biāo)和隱式游標(biāo)。 顯式游標(biāo) ? 顯式游標(biāo)是必須通過編寫必要的 PL/SQL例程來進(jìn)行管理的游標(biāo)。游標(biāo)的整個(gè)生命期都在用戶的控制之下,因此,用戶可以詳細(xì)地控制 PL/SQL怎樣在結(jié)果集中訪問記錄。用戶可以定義游標(biāo)、打開游標(biāo)、從游標(biāo)中獲取數(shù)據(jù)、使用合適的 PL/SQL代碼關(guān)閉游標(biāo)。 隱式游標(biāo) ? 隱式游標(biāo)不用提供明確的代碼來處理游標(biāo)就可以在用戶的 PL/SQL中使用。用戶在使用隱式游標(biāo)時(shí),仍然可以處理結(jié)果集中的記錄,但是用戶不必顯式編寫代碼管理游標(biāo)的聲明周期。 ? 隱式游標(biāo)是作為用戶 PL/SQL代碼中的一些操作結(jié)果建立的游標(biāo),在這里沒有明確地建立游標(biāo)變量,但是 Oracle可以提供在PL/SQL中使用的結(jié)果集。 游標(biāo)屬性和 ref cursors ? 游標(biāo)屬性可以返回 SQL語句執(zhí)行的元數(shù)據(jù)。例如,我們可能想要知道結(jié)果集中有許多記錄、游標(biāo)是打開的還是關(guān)閉的、我們最后一次從結(jié)果集中獲取數(shù)據(jù)行時(shí)是否找到了記錄等。為了訪問這些元數(shù)據(jù),需要使用一些游標(biāo)屬性。 ? 表 74列出了一些常用的游標(biāo)屬性。 控制語句 ? Oracle提供了大量的進(jìn)程控制語句來輔助用戶的開發(fā)工作。控制語句可以是條件語句和循環(huán)結(jié)構(gòu)。為了幫助提高用戶代碼的效率和可讀性,可以使用各種不同類型的條件語句和循環(huán)結(jié)構(gòu)。 SQL自己沒有流或控制語句的概念,這正是 PL/SQL的用武之地。 ? 下面,分別講述條件語句和循環(huán)結(jié)構(gòu)。 條件 ? 條件是可以取值為 true、 false或 null的表達(dá)式。如果條件取值為 true,則需要處理?xiàng)l件的代碼。相反,如果條件取值為 false,則忽略該條件包含的代碼。如果條件取值為null,則既不是 true,也不是 false,產(chǎn)生異常。 ? 有兩種典型的條件語句,即 if…then…else語句和 case語句。 循環(huán) ? 循環(huán)是一種程序控制結(jié)構(gòu),可以使用它來遍歷一系列 PL/SQL語句,并且在 0次和無限次之間執(zhí)行這些語句。 ? 下面介紹常用的無限制循環(huán)和 while。 錯(cuò)誤處理 ? 編寫代碼過程中,由于各種各樣的原因,代碼中的錯(cuò)誤不可避免。 ? 在 PL/SQL中,有關(guān)錯(cuò)誤控制機(jī)制,使用異常進(jìn)行管理。 異常部分 ? 如果在程序塊中沒有異常處理器,那么就會(huì)將異常傳播,或發(fā)往程序塊的調(diào)用者。例如,如果用戶編寫沒有異常處理器的 PL/SQL程序塊,那么任何導(dǎo)致異常產(chǎn)生的代碼都會(huì)被發(fā)往 SQL*Plus。SQL*Plus處理異常的方式就是向屏幕顯示異常信息。 ? 一般地,應(yīng)該在開發(fā)的各個(gè) PL/SQL程序塊中包含一個(gè)異常部分。該部分由 exception關(guān)鍵字開始,并且是 PL/SQL程序塊的最后部分。每一個(gè)異常部分都能夠進(jìn)一步分解為單獨(dú)的異常處理器。 預(yù)定義異常 ? Oracle為用戶提供了大量在用戶的 PL/SQL中使用的預(yù)定義異常,檢查可能導(dǎo)致用戶代碼失敗的條件。他們都定義在 Oracle的核心 PL/SQL庫中,用戶可以在用戶的PL/SQL異常處理器中使用名稱對(duì)其進(jìn)行標(biāo)識(shí)。 用戶定義異常 ? 除了 Oracle預(yù)定義異常之外,用戶還可以定義自己在代碼中使用的異常。這種方式允許用戶采用與 PL/SQL引擎處理錯(cuò)誤相同的方式來定義定制錯(cuò)誤處理代碼。 第 8章 管理用戶和表 Oracle Database 10g基礎(chǔ)教程 清華大學(xué)出版社 教學(xué)目標(biāo) 教學(xué)難點(diǎn)和重點(diǎn) 教學(xué)過程 教學(xué)目標(biāo) ? 理解和掌握建立用戶、表、約束的數(shù)據(jù)定義語言技術(shù) ? 理解和掌握建立用戶帳戶技術(shù) ? 理解 Oracle提供的數(shù)據(jù)類型的特點(diǎn) ? 掌握建立表和復(fù)制已經(jīng)存在的表的技術(shù) ? 理解和掌握使用數(shù)據(jù)字典獲取數(shù)據(jù)庫中有關(guān)對(duì)象的信息技術(shù) 教學(xué)難點(diǎn)和重點(diǎn) ? 建立用戶、表、約束的
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1