自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OraclePL編程語(yǔ)言的優(yōu)點(diǎn)介紹

數(shù)據(jù)庫(kù) Oracle
以下的文章我們主要討論的是Oracle PL/SQL 編程的優(yōu)點(diǎn)介紹,以及PL/SQL 的相關(guān)體系結(jié)構(gòu)的描述以下就是文章的具體內(nèi)容的描述。

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

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

 

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

 

PL/SQL 的優(yōu)點(diǎn)

 

支持 SQL

 

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

 

事務(wù)控制命令

 

游標(biāo)控制

 

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

 

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

 

可移植性

 

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

 

更佳的性能

 

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

 

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

 

支持 NULL 值

 

支持 %TYPE 和 %ROWTYPE 屬性類型

 

安全性

 

可以通過(guò)存儲(chǔ)過(guò)程限制用戶對(duì)數(shù)據(jù)的訪問(wèn)。

 

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

 

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

 

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

PL/SQL 塊簡(jiǎn)介

 

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

 

(1).聲明部分

 

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

 

(3)異常處理

 

語(yǔ)法結(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 ('已購(gòu)買芭比娃娃', SYSDATE); -  
  3. END IF; -  
  4. COMMIT; - 

 

 

EXCEPTION /* 異常處理語(yǔ)句 * / -----------------------異常處理

 

 

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

 

 

變量和常量

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

 

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

 

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

 

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

 

聲明變量和常量的語(yǔ)法

 

 

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

 

 

給變量賦值有兩種方法

 

使用賦值語(yǔ)句 :=

 

使用 select into 語(yǔ)句

 

代碼示例:

 

 

  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í)間類型

 

日期時(shí)間類型

 

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

 

常用的兩種日期時(shí)間類型

 

DATE

 

TIMESTAMP

 

布爾類型

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

 

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

 

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

 

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

 

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

 

如圖:

LOB類型

 

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

 

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

 

LOB 類型包括:

 

BLOB 將大型二進(jìn)制對(duì)象存儲(chǔ)在數(shù)據(jù)庫(kù)中

 

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

 

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

 

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

 

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

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

【編輯推薦】

  1. 探討Oracle中rownum的用法
  2. Oracle細(xì)粒度的訪問(wèn)控制的基本工作方式
  3. 淺析:Oracle jdbc分頁(yè)效率的測(cè)試
  4. Oracle數(shù)據(jù)庫(kù)的異構(gòu)服務(wù)原理描述
  5. Oracle 10g數(shù)據(jù)庫(kù)的相關(guān)內(nèi)容描述
責(zé)任編輯:佚名 來(lái)源: csdn
相關(guān)推薦

2010-03-19 18:00:43

Java編程語(yǔ)言

2010-03-10 16:52:00

Python 編程語(yǔ)言

2022-08-17 17:57:37

GoGo語(yǔ)言

2010-03-11 14:13:20

Python編程

2010-03-24 14:55:19

Python編程語(yǔ)言

2019-02-11 08:32:22

編程語(yǔ)言Go

2010-03-10 18:12:50

Python編程語(yǔ)言

2010-03-17 17:06:10

python腳本語(yǔ)言

2010-03-19 12:49:20

Python編程

2011-07-12 17:42:46

PHP

2010-03-17 16:50:51

2010-03-17 17:40:23

Python編程語(yǔ)言

2010-03-12 18:16:07

Python編程語(yǔ)言

2009-12-18 08:57:27

Linux shell

2011-07-21 17:18:52

java

2011-07-22 10:02:07

java

2011-07-22 10:38:04

java

2011-07-21 17:33:27

JAVA

2010-02-26 10:07:55

Python編程語(yǔ)言

2011-07-21 17:45:02

java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)