2023-11-19 分類: 網(wǎng)站建設(shè)
1 SQL語言只是一種訪問和操作數(shù)據(jù)庫的語言,不是具有過程控制的編程語言,只有一種編程語言才能用于應(yīng)用軟件的開發(fā)。 pL SQL 是一種高級數(shù)據(jù)庫編程語言。該語言專門用于訪問各種環(huán)境中的數(shù)據(jù)庫。由于該語言集成在數(shù)據(jù)庫服務(wù)器中,pL SQL 代碼可以快速高效地處理數(shù)據(jù)。此外,pL SQL 語言可以用于數(shù)據(jù)庫的一些客戶端工具也是該語言的一個特點。本章的主要內(nèi)容是討論介紹pL SQL語言的必要性和該語言的主要特點,以及了解pL SQL語言的重要性和數(shù)據(jù)庫版本問題。我還將在整本書中介紹一些更詳細(xì)的高級概念,在本章的最后,我們將解釋我們在本書示例中使用的數(shù)據(jù)庫表的一些約定。 1和SQL1 1什么是pL SQL pL SQL pL SQL pL SQL是age的縮寫。 SQL 是一種支持 ANSI 和標(biāo)準(zhǔn)的產(chǎn)品。
pL SQL 是 SQL 語言存儲過程語言的擴(kuò)展。從現(xiàn)在開始,附上pL SQL。它現(xiàn)在已經(jīng)成為一種過程處理語言,簡稱為 pL SQL。當(dāng)前的 pL SQL 由兩部分組成。一部分是數(shù)據(jù)庫引擎部分,另一部分是獨立的引擎和sql訪問的編程語言,可以嵌入到很多產(chǎn)品中和sql訪問的編程語言,如C語言、JAVA語言等工具。這兩部分可以稱為數(shù)據(jù)庫pL SQL和工具pL SQL。兩者的編程非常相似。都有程序結(jié)構(gòu)、語法和邏輯機(jī)制。 pL SQL 工具還添加了用于支持工具的語法,例如在表單上設(shè)置按鈕。本章主要介紹數(shù)據(jù)庫的內(nèi)容。 1 SQL 的優(yōu)點或特點 1 1 有利于客戶端-服務(wù)器環(huán)境的運行 客戶端-服務(wù)器環(huán)境的真正瓶頸是網(wǎng)絡(luò)。無論網(wǎng)絡(luò)有多快,只要客戶端和服務(wù)器交換大量數(shù)據(jù)。應(yīng)用運行的效率自然受到影響。如果使用pL SQL進(jìn)行編程,將這類數(shù)據(jù)處理量大的應(yīng)用放到服務(wù)器端執(zhí)行。自然,它節(jié)省了互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸時間。 1 2適用于客戶環(huán)境,因為它分為數(shù)據(jù)庫pL SQL部分和工具pL SQL。對于客戶端,pL SQL 可以嵌套到相應(yīng)的工具中??蛻舳顺绦蚩梢詧?zhí)行本地pL SQL部分,也可以向服務(wù)發(fā)送SQL命令或激活服務(wù)器端pL SQL程序運行。
1 3 是標(biāo)準(zhǔn) SQL 的過程擴(kuò)展,它不僅允許在 pL SQL 程序中嵌入 SQL 語句,還允許使用各種類型的條件分支語句和循環(huán)語句。該解決方案可以在多個應(yīng)用程序之間共享。 . 14 模塊化程序結(jié)構(gòu)是一種高度描述性和定義明確的塊結(jié)構(gòu)。嵌套塊結(jié)構(gòu)分為獨立的過程、函數(shù)和觸發(fā)器,它們可以組合成一個包,以提高程序的模塊化。 15 運行時錯誤處理。使用提供的異常處理,開發(fā)人員可以專注于處理各種錯誤和pL SQL錯誤,或者處理系統(tǒng)錯誤和自定義錯誤,以增強(qiáng)應(yīng)用程序的健壯性。 21 6提供大量內(nèi)置程序包 提供大量內(nèi)置程序包。 DbS 的一些低級操作和高級功能可以通過這些包來實現(xiàn),這對 DbA 和應(yīng)用程序開發(fā)人員都起著重要的作用。當(dāng)然,還有其他優(yōu)勢,比如更好的性能、便攜性和兼容性、可維護(hù)性、易用性和速度。 1 SQL 可用語句 pL SQL 是系統(tǒng)的核心語言,現(xiàn)在很多組件都是用pL SQL 編寫的。 pL SQL中可以使用SQL語句。
提醒在pL SQL中,只能使用語句的一部分。如果要在pL SQL中使用DDL、DDL、DDL、DDL等,只能動態(tài)使用。在解釋 pL SQL 程序時,pL SQL 組件還會檢查其中使用的表名、列名和數(shù)據(jù)類型。 pL SQL 可以在 SQL pLUS 中使用。 pL SQL 可用于高級語言。 pL SQL可以用在其他開發(fā)工具的開發(fā)工具中,也可以調(diào)用寫好的程序和函數(shù),比如可以調(diào)用服務(wù)器端的pL SQL程序等等。 1 4 運行SQL 程序pL SQL 程序的運行是通過一個引擎中的。該引擎可能位于應(yīng)用程序開發(fā)的服務(wù)器端或客戶端。引擎執(zhí)行pL SQL中的過程語句,然后將SQL語句發(fā)送到數(shù)據(jù)庫服務(wù)器執(zhí)行。
結(jié)果返回到執(zhí)行端。 2 12 12 12 1pL SQL 塊 pL SQL 程序由三個塊組成,分別是聲明部分、執(zhí)行部分和異常處理部分。 pL SQL 塊的結(jié)構(gòu)如下。聲明部分在此聲明pL SQL 中使用的變量類型和游標(biāo),以及本地存儲過程和函數(shù)。過程和語句的執(zhí)行部分是程序的主體部分。異常部分的執(zhí)行。錯誤處理 3 執(zhí)行部分不能省略。 pL SQL 塊可以分為三類:未命名塊或匿名塊。動態(tài)構(gòu)建。它們只能執(zhí)行一次??梢哉{(diào)用其他程序,但不能被其他程序調(diào)用。 2 命名塊是具有名稱的匿名塊。名字就是標(biāo)簽。 3 存儲在數(shù)據(jù)庫中的存儲過程、函數(shù)等。
在數(shù)據(jù)庫上建立后,您可以在其他程序中調(diào)用它們。 4 觸發(fā)器 操作數(shù)據(jù)庫時,會觸發(fā)一些事件,自動執(zhí)行相應(yīng)的程序。 5 程序包 存儲在數(shù)據(jù)庫中的一組子程序和變量定義。包中的子程序可以被其他包或子程序調(diào)用。但是,如果聲明是局部子程序,則只能在定義局部子程序的塊中調(diào)用該局部子程序。 2 22 22 22 2pL SQL 結(jié)構(gòu) pL SQL 塊可以包含子塊。子塊可以位于 pL SQL 的任何部分,即 pL SQL 中的一個命令。 3232 32 3 標(biāo)識符。 pL SQL 編程中的標(biāo)識符定義和 SQL 標(biāo)識符定義的要求是一樣的。有要求和限制。標(biāo)識符名稱不能超過 30 個字符。第一個字符必須是字母,不區(qū)分大小寫,并且不能使用。減號不能是 SQL 保留字。提示一般不要聲明變量名與表中的字段名完全相同。如果這樣做,您可能會得到不正確的結(jié)果。例如,下面的示例將刪除所有記錄而不是 END 的記錄。 pL SQL 中的變量命名有特殊建議。在系統(tǒng)設(shè)計階段,要求所有程序員遵守一定的要求,使整個系統(tǒng)的文檔符合規(guī)范中的要求。
以下是建議的命名方法 4 標(biāo)識符命名規(guī)則示例 程序變量 V 名稱 程序常量 C 名稱 光標(biāo)變量 Emp 異常標(biāo)識符 E 太多 表類型 名稱類型 表名稱 記錄類型 名稱 加替換變量 p sal 綁定變量 G 年 sal2 42 42 42 4pL SQL變量類型在前面的介紹中,有系統(tǒng)數(shù)據(jù)類型,也可以自定義數(shù)據(jù)類型。下表列出了 pL SQL 中變量類型的類型和合法使用。 1 變量類型可用于具有類型子類描述范圍限制的變量類型固定長度字符串國語字符集0 可選變量字符串國語字符集0 有符號整數(shù)是整數(shù)計算以優(yōu)化性能。 Dec 小數(shù)的子類型。高精度實數(shù)的子類型。整數(shù)的子類型。子類型和等效項和等效項。小于 LONG 可變長度字符串。 0 767 字節(jié) DATE 日期類型 bC 從 4712 年 1 月 1 日到 4712 年 12 月 31 日, TRUE NULL 不使用通用行標(biāo)識符字符類型來存儲數(shù)據(jù)庫行號。示例1 插入一條記錄并顯示??趇d info DbMS pUT LINE row id DbMS pUT LINE info END 該子句用于檢索語句影響的數(shù)據(jù)行數(shù)。語句使用子句插入數(shù)據(jù)時,子句還可以將列表達(dá)式和REF值返回給6個輸出變量。
使用子句時,應(yīng)注意以下限制。當(dāng)通過視圖向基表插入數(shù)據(jù)時,它只能用于單個基表視圖。示例2 修改一條記錄并顯示ptno ME 財務(wù)處id info DbMS pUT LINE row id DbMS pUT LINE info END 該子句用于檢索修改后的行的信息。當(dāng)語句修改單行數(shù)據(jù)時,子句可以檢索修改行的和REF值以及行中修改列的列表達(dá)式,并將它們存儲在pL SQL變量或復(fù)合變量中。當(dāng)語句修改多行數(shù)據(jù)時,子句可以將修改行的總和REF值和列表達(dá)式值返回到復(fù)合變量數(shù)組中。 in 子句的使用限制與語句中的子句限制相同。
示例3 刪除一條記錄并顯示 id info DbMS pUT LINE row id DbMS pUT LINE info END 7 該子句用于檢索已刪除行的信息。當(dāng)語句刪除單行數(shù)據(jù)時,子句可以檢索已刪除行的總和。 REF 值和刪除列的列表達(dá)式可以存儲在 pL SQL 變量或復(fù)合變量中。當(dāng)語句刪除多行數(shù)據(jù)時,子句可以將刪除的行和REF值以及列表達(dá)式值返回給復(fù)合變量。大批。 in 子句的使用限制與語句中的子句限制相同。 2 2 除了上面介紹的各種類型,復(fù)合類型還提供了一種類型記錄稱為復(fù)合類型和表1記錄類型。記錄類型類似于 C 語言中的結(jié)構(gòu)數(shù)據(jù)類型。它分離邏輯相關(guān)和分離?;緮?shù)據(jù)類型的變量作為一個整體存儲。它必須至少包含一個標(biāo)量或數(shù)據(jù)類型成員。稱為 pL 的域用于存儲不同但在邏輯上相關(guān)的信息。
使用記錄數(shù)據(jù)類型變量時,需要先在聲明部分定義記錄的組成和記錄的變量,然后在執(zhí)行部分引用記錄變量本身或其成員。記錄類型語法定義如下: rd NULL NULL NULL NULL NULL NULL 4444 rec rec test rec test rec test rec rec book book book name book book Info talk pL SQL編程DbMS pUT LINE rec book pUT LINE rec book pUT LINE rec book pUT LINE rec book Name rec book Info rec book Info rec book Info rec book Info 8 可以使用語句給記錄變量賦值,只要記錄字段與查詢結(jié)果列表中的字段匹配即可。
示例 5555 定義了與 hr 表中這些列相同的記錄數(shù)據(jù)類型。員工姓名姓名就業(yè)日期日期位置記錄類型的變量只能保存從數(shù)據(jù)庫中查詢的一行記錄。如果查詢多行記錄,就會出錯。 2 2 數(shù)組類型數(shù)據(jù)是一組數(shù)據(jù)類型相同的成員的集合。每個成員都有一個唯一的下標(biāo),該下標(biāo)取決于該成員在數(shù)組中的位置。在pL SQL中,數(shù)組數(shù)據(jù)類型是。
定義數(shù)據(jù)類型的語法如下。 size type name 是數(shù)據(jù)類型的名稱。 size為后面的整數(shù),表示可以容納的大成員數(shù)。每個成員的數(shù)據(jù)類型是類型。默認(rèn)成員可以取一個空值,否則需要使用它來限制它。對于數(shù)據(jù)類型,必須經(jīng)過三個步驟:定義、聲明和初始化。 9 示例 6666 定義一個數(shù)據(jù)類型,最多保存 25 個數(shù)據(jù)類型的 5 個成員 5555 聲明該數(shù)據(jù)類型的變量 v reg TYpE 使用構(gòu)造函數(shù)語法分配初始值 v reg reg type 中國、美國、英國、日本、 , DbMS, pUT LINE, area name 4444 DbMS pUT LINE 將第5個成員的值賦給初始值NULL 5555 用構(gòu)造器語法賦初值后,可以給成員賦值 v reg 5555 DbMS pUT LINE 5555 END 3 使用 TYpE TYpE TYpE TYpE 定義變量。數(shù)據(jù)類型與已定義的某個數(shù)據(jù)變量一致,尤其是表中某一列的數(shù)據(jù)類型。這時候可以使用TYpE。
使用TYpE特性的好處是不需要知道被引用數(shù)據(jù)庫列的數(shù)據(jù)類型,并且可以實時改變被引用數(shù)據(jù)庫列的數(shù)據(jù)類型,容易保持一致性,并且不需要修改pL SQL程序。示例 7777 TYpE 定義匹配表的字段 TYpE 10T TYpE TYpE 聲明變量 v empT DbMS pUT LINE 接收數(shù)據(jù)的表的數(shù)據(jù)結(jié)構(gòu)是一致的。使用該特性的好處是不需要知道被引用數(shù)據(jù)庫中列的數(shù)量和數(shù)據(jù)類型。被引用數(shù)據(jù)庫的列數(shù)和數(shù)據(jù)類型可以實時更改,易于維護(hù)一致性,無需修改pL SQL程序。示例 9999
本文名稱:有程序設(shè)計語言才能用于應(yīng)用軟件的開發(fā)SQL語言
網(wǎng)頁鏈接:http://www.rwnh.cn/news30/295180.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、虛擬主機(jī)、響應(yīng)式網(wǎng)站、全網(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)
猜你還喜歡下面的內(nèi)容