日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle pl/sql编程详细,Oracle框架:PL/SQL编程:

發布時間:2023/12/18 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle pl/sql编程详细,Oracle框架:PL/SQL编程: 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PL/SQL編程

一:什么是PL/SQL

(1.)PL/SQL體系結構:

PL/SQL引擎用來編譯和執行,PL/SQL塊或子程序,該引擎駐留在Oracle服務器中。

(2.)PL/SQL塊簡介

PL/SQL是一種塊結構語音,它將一組語句塊放在一個快中。

(3.)運算符和表達式:

PL/SQL語音支持操作符包含關系運算符,一般運算符和邏輯運算符,與SQL語音類似。

(4.)常量和變量聲明

在PL/SQL塊的可執行部分引用變量和常量前,必須先對其進行聲明。變量和PL/SQL塊的部分聲明,在PL/SQ塊的 可執行部分被使用。語法如下:

Variable_name data_type 變量范圍 變量的初始值;

(5.)注釋:

在PL/SQL可以使用如下兩種注釋符號:

‘--’雙減號

‘//’

在PL/SQL快中的可執行部分引用的變量和常量前,必須先對其聲明

語法:variable_name data_type[(size)][:=init_value];

變量名稱 數據類型 size 指定變量的初始值

二:PL/SQL數據類型

(1.)Oracle使用變量類型圖

(2.)LOB數據類型

(3.)屬性類型:

%Type:定義一個變量,其數據類型與已經定義的某個數據變量(尤其是表的某一列)的數據類型相一致這時可以使用%Type (優點:可以不必知道所引用的數據庫列的數據類型。所引用的數據類型可以實現時改變,容易保持一致,不必修改PL/SQL程序)

%ROWTYPE:返回一個記錄類型,其數據類型和數據庫表的數據結構相一致,這時可以使用%ROWTYPE.(優點:可以不必知道所引用數據庫列的個數和數據類型。所引用的數據庫中列的個數和數據庫類型可以實現改變,容易保持一致,不用修改PL/SQL程序)

三:PL/SQL控制語句

(1.)條件控制:if語句如下:

If 布爾表達式 then

PL/SQL和SQL語句

End if;

If 布爾表達式 then

PL/SQL和SQL語句

Elst

其他語句

End if;

If 布爾表達式 then

PL/SQL和SQL語句

Elsif 其他布爾表達式 then

其他語句

Elsif 其他布爾表達式 then

Else

其他語句

End if;

(2.)case 語法如下

----------------格式1----------------

Case 條件表達式

When 條件表達式1 then

語句段1

When 條件表達式2 then

語句段2

…………….

When 條件表達式n then

語句段n

End case;

----------------格式2----------------

Case 條件表達式

When 條件表達式1 then

語句段1

When 條件表達式2 then

語句段2

…………….

When 條件表達式n then

語句段n

Else 語句段

End case;

(3.)循環控制:Loop循環語法如下:

Loop

要執行的語句;

Exit when 條件語句 -------條件滿足時跳出循環

End loop;

While循環語法如下:

While 布爾表達式 loop

要執行的語句;

End loop;

For循環語法如下

For 循環計數器 In reverse 下限…….上限 loop

要執行的語句

End loop;

四:異常處理:

(1.)預定義異常:

(2.)處理用戶自定義異常:

在PL/SQL塊的定義部分定義的異常情況

異常情況 exceptlon

拋出異常情況:

Raise 異常情況

在PL/SQL塊的異常情況處理部分對異常情況做出的相應處理

五:游標:

(2.)游標的分類

隱式游標:返回單行記錄

顯示游標:返回多行記錄

顯示游標使用步驟:

(1.)聲明游標:cursor 名稱 is

(2.)打開游標:open 名稱;

(3.)提取游標:fetch 名稱 into variables;

(4.)關閉游標: close 名稱;

(3.)使用循環游標簡化游標的讀取語法:

For 聲明記錄變量 in 名稱

Loop

Executable_statements

End loop;

(4.)No_data_found和notfound的區別

Select………into語句返回0條記錄和多條記錄是觸發no_data_found

當update或delete語句的where子句未找到時,觸發%notfound

在提取循環中用%notfound或%found來確定循環的退出條件,而不用no_data_fuond

六:存儲過程:

子程序的組成:

(1.)聲明部分:類型,游標,常量,變量,異常,嵌套子程序聲明

(2.)可執行部分:可執行部分包括賦值,控制執行過程存儲過程中出現的異常

(3.)異常處理部分:異常處理程序,負責處理執行存儲過程中出現的異常。

子程序的優點如下:

模塊化,可重用性,可維護性,安全性。

(4.)存儲過程用法:

1.創建存儲過程:語法如下:

Create 語句 procedure 存儲名稱

參數列表

Is|as

局部聲明

Begin

可執行語句

exception

異常處理程序

End 存儲名稱;

2.調用存儲過程

(1.)用命令調用

語法如下:

Exce 過程名稱 參數列表;

(2.)參數的傳遞方式三種:

按位置傳遞

Exec add_emp(1111,‘mary’,2000,’‘manager’,10);

按名稱傳遞

混合方式傳遞

3.存儲過程參數模式語法如下:

存儲名稱 in|out|in out datatype :=賦值;

4.存儲過程訪問權限

-----授予a執行emp的權限

Grant execute no add_emp to a

-------撤銷權限

Revoke execute on add_emp from a;

5.刪除存儲過程

Drop procedure 存儲名稱;

七:存儲過程的調試與跟蹤:

(1.)在sql*plus下調試

(2.)用戶PL/SQL Developer工具調試

其中on_flag有三種情況:

0表示過程執行成功但無提示信息。大于0表示過程執行成功但有提示信息。

*小于1表示過程執行失敗且有提示信息。

總結

以上是生活随笔為你收集整理的oracle pl/sql编程详细,Oracle框架:PL/SQL编程:的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。