日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
OraclePL編程語言的優(yōu)點介紹

OraclePL/SQL通俗的講就是過程語言(Procedural Language)和結(jié)構(gòu)化查詢的相關(guān)語言(SQL)相結(jié)合而演變成的編程語言,OraclePL/SQL其實就是對SQL 的擴展,它支持多種數(shù)據(jù)類型,如大對象和集合類型可以使用條件和循環(huán)等控制結(jié)構(gòu)。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供德陽網(wǎng)站建設(shè)、德陽做網(wǎng)站、德陽網(wǎng)站設(shè)計、德陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、德陽企業(yè)網(wǎng)站模板建站服務(wù),十年德陽做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

可以創(chuàng)建存儲過程,觸發(fā)器和程序包,給SQL 語句的執(zhí)行添加程序邏輯!他與Oracle服務(wù)器

和Oracle工具緊密集成,具備可移植,靈活性和安全性。

PL/SQL 的優(yōu)點

支持 SQL

數(shù)據(jù)操縱命令

事務(wù)控制命令

游標(biāo)控制

SQL 函數(shù)和 SQL 運算符

支持面向?qū)ο缶幊?(OOP)

可移植性

可運行在任何操作系統(tǒng)和平臺上的Oralce 數(shù)據(jù)庫。

更佳的性能

與 SQL 緊密集成,簡化數(shù)據(jù)處理

支持所有 SQL 數(shù)據(jù)類型

支持 NULL 值

支持 %TYPE 和 %ROWTYPE 屬性類型

安全性

可以通過存儲過程限制用戶對數(shù)據(jù)的訪問。

PL/SQL 的體系結(jié)構(gòu)

PL/SQL引擎駐留在Oracle服務(wù)器中,該引擎接受PL/SQL塊,并且對起

進行編譯執(zhí)行!#p#

PL/SQL 塊簡介

OraclePL/SQL塊是構(gòu)成程序的基本單位,每一個塊都包含有PL/SQL和SQL語句,典型的PL/SQL代碼塊包含如下結(jié)構(gòu):

(1).聲明部分

(2)可執(zhí)行部分

(3)異常處理

語法結(jié)構(gòu)如下:

[DECLARE

declarations]—聲明部分

BEGIN

executable statements---可執(zhí)行部分

[EXCEPTION –異常處理

 
 
 
  1. handlers]  
  2. END;  

代碼示例:

DECLARE

qty_on_hand NUMBER(5); --程序聲明部分,定義變量,游標(biāo)和自定義常量

 
 
 
  1. BEGIN   
  2. SELECT quantity INTO qty_on_hand -  
  3. FROM Products -  
  4. WHERE product = '芭比娃娃' -  
  5. FOR UPDATE OF quantity; -  
  6. IF qty_on_hand > 0 THEN -  
  7. UPDATE Products SET quantityquantity = quantity + 1 - 

WHERE product = '芭比娃娃'; 程序執(zhí)行部分

 
 
 
  1. INSERT INTO purchase_record -  
  2. VALUES ('已購買芭比娃娃', SYSDATE); -  
  3. END IF; -  
  4. COMMIT; - 

EXCEPTION /* 異常處理語句 * / -----------------------異常處理

 
 
 
  1. WHEN OTHERS THEN -  
  2. DBMS_OUTPUT.PUT_LINE('出錯:'|| SQLERRM); -  
  3. END; 

變量和常量

OraclePL/SQL 塊中可以使用變量和常量

在聲明部分聲明,使用前必須先聲明

聲明時必須指定數(shù)據(jù)類型,每行聲明一個標(biāo)識符

在可執(zhí)行部分的 SQL 語句和過程語句中使用

聲明變量和常量的語法

 
 
 
  1. identifier [CONSTANT] datatype [NOT NULL]   
  2. [:= | DEFAULT expr];  

給變量賦值有兩種方法

使用賦值語句 :=

使用 select into 語句

代碼示例:

 
 
 
  1. DECLARE  
  2. icode VARCHAR2(6);   
  3. p_catg VARCHAR2(20);   
  4. p_rate NUMBER;   
  5. c_rate CONSTANT NUMBER := 0.10;   
  6. BEGIN  
  7. ...  
  8. icode := 'i205';   
  9. SELECT p_category, itemrate * c_rate  
  10. INTO p_catg, p_rate  
  11. FROM itemfile WHERE itemcode = icode;   
  12. ...  
  13. END; 

數(shù)據(jù)類型

OraclePL/SQL支持的內(nèi)置數(shù)據(jù)類型有如下幾種:

如圖:

標(biāo)量類型

數(shù)字

字符

CHAR

VARCHAR2

LONG

RAW

LONG RAW

結(jié)構(gòu)如圖:

日期時間類型

日期時間類型

存儲日期和時間數(shù)據(jù)

常用的兩種日期時間類型

DATE

TIMESTAMP

布爾類型

此類別只有一種類型,即BOOLEAN類型

用于存儲邏輯值(TRUE、FALSE和NULL)

不能向數(shù)據(jù)庫中插入BOOLEAN數(shù)據(jù)

不能將列值保存到BOOLEAN變量中

只能對BOOLEAN變量執(zhí)行邏輯操作

如圖:

LOB類型

用于存儲大文本、圖像、視頻剪輯和聲音剪輯等非結(jié)構(gòu)化數(shù)據(jù)。

LOB數(shù)據(jù)類型可存儲*** 4GB的數(shù)據(jù)。

LOB 類型包括:

BLOB 將大型二進制對象存儲在數(shù)據(jù)庫中

CLOB 將大型字符數(shù)據(jù)存儲在數(shù)據(jù)庫中

NCLOB 存儲大型UNICODE字符數(shù)據(jù)

BFILE 將大型二進制對象存儲在操作系統(tǒng)文件中

LOB 類型的數(shù)據(jù)庫列僅存儲定位符,該定位符指向大型對象的存儲位置

DBMS_LOB程序包用于操縱 LOB 數(shù)據(jù)

代碼示例:

 
 
 
  1. SET SERVEROUTPUT ON  
  2. DECLARE  
  3. clob_var CLOB;   
  4. amount INTEGER;   
  5. offset INTEGER;   
  6. output_var VARCHAR2(100);   
  7. BEGIN  
  8. SELECT chapter_text INTO clob_var   
  9. FROM my_book_text  
  10. WHERE chapter_id=5;  

amount := 24; -- 要讀取的字符數(shù)

offset := 1; -- 起始位置

 
 
 
  1. DBMS_LOB.READ(clob_var,amount,offset,output_var);   
  2. DBMS_OUTPUT.PUT_LINE(output_var);   
  3. END;   

 文章出自:http://database.csdn.net/page/08155ea6-cb32-4167-ad08-022873597ded


網(wǎng)站題目:OraclePL編程語言的優(yōu)點介紹
本文來源:http://m.5511xx.com/article/cdcpjhh.html