中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle中package包頭和package body包體有什么用

發布時間:2021-11-25 09:35:29 來源:億速云 閱讀:398 作者:小新 欄目:關系型數據庫

這篇文章主要為大家展示了“oracle中package包頭和package body包體有什么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“oracle中package包頭和package body包體有什么用”這篇文章吧。

程序包
1作用是為了實程序模塊化
2程序包里面可以包含存儲過程,函數,變量,游標等PL/SQL程序
3程序包類似java的jar包,存儲過程,函數,變量,游標等相當jar包提供的方法
4調用程序包里面的存儲過程,函數等元素時,oracle會把程序包調入內存,下次是使用,直接從內存讀取。
那么這些項目屬于私有項目,只能在包體中使用.
一 包的組成
包頭(package):包頭部分申明包內數據類型,常量,變量,游標,子程序和異常錯誤處理,這些元素為包的公有元素。
包主體(package body):包主體則是包定義部分的具體實現,它負責為包頭中所聲明子程序提供具體的實現,在包主體中還可以聲明包的私有元素。
包頭和包主體分開編譯,并作為兩個分開的對象分別存放在數據庫字典中。
二  包的語法規則
包頭的語法如下:
create or replace package 包名
As | IS
procedure 過程名();
Function 函數名() return 數據類型;
變量定義;
異常定義;
光標定義;
...........
...........
End 包名;
包體創建的語法:
create or replace Package Body 包名
As | IS
Procedure 過程定義;
Procedure 過程定義;
Function 函數定義;
Function 函數定義;
.........;

end 包名;
包的開發步驟

與開發存儲過程類似,包的開發需要幾個步驟:

1.   將每個存儲過程調式正確;
2.   用文本編輯軟件將各個存儲過程和函數集成在一起;
3.   按照包的定義要求將集成的文本的前面加上包定義;
4.   按照包的定義要求將集成的文本的前面加上包主體;
5.   使用SQLPLUS或開發工具進行調式。
加密實用程序

ORACLE 提供了一個實用工具來加密或者包裝用戶的PL/SQL,它會將用戶的PL/SQL改變為只有ORACLE能夠解釋的代碼版本.
WRAP 實用工具位于$ORACLE_HOME/BIN.

格式為:
WRAP INAME=<input_file_name> [ONAME=<output_file_name>]

wrap iname=e:\sample.txt

注意:在加密前,請將PL/SQL程序先保存一份,以備后用。
可以使用 DROP PACKAGE 命令對不需要的包進行刪除,語法如下:
DROP PACKAGE [BODY] [user.]package_name;
包與過程、函數一樣,也是存儲在數據庫中的,可以隨時查看其源碼。若有需要,在創建包時可以隨時查看更詳細的編譯錯誤。不需要的包也可以刪除。
同樣,為了避免調用的失敗,在更新表的結構后,一定要記得重新編譯依賴于它的程序包。在更新了包說明或包體后,也應該重新編譯包說明與包體。語法如下:

ALTER PACKAGE package_name COMPILE [PACKAGE|BODY|SPECIFICATION];

也可以通過以下數據字典視圖查看包的相關。
DBA_SOURCE, USER_SOURCE, USER_ERRORS,DBA-OBJECTS

如,我們可以用:select text from user_source wherename='DEMO_PKG1';來查看我們創建的包的源碼。

以上是“oracle中package包頭和package body包體有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松原市| 榆林市| 信丰县| 潼关县| 新乡市| 开封市| 长子县| 利辛县| 正蓝旗| 凤冈县| 兴国县| 玛沁县| 凌云县| 武清区| 麟游县| 全南县| 湘阴县| 且末县| 根河市| 布拖县| 武威市| 阿巴嘎旗| 平江县| 安岳县| 方山县| 开封市| 奎屯市| 太仆寺旗| 大宁县| 固阳县| 闻喜县| 台南市| 长宁县| 府谷县| 黑水县| 延津县| 卓资县| 阳山县| 舟山市| 江城| 景德镇市|