創(chuàng)建Oracle包的語法
創(chuàng)建Oracle包是我們在使用Oracle數(shù)據(jù)庫時(shí)最常見的操作之一,下面就為您介紹創(chuàng)建Oracle包規(guī)范的語法,希望對您能有所幫助。
包是一種將過程、函數(shù)和數(shù)據(jù)結(jié)構(gòu)捆綁在一起的容器;包由兩個(gè)部分組成:外部可視包規(guī)范,包括函數(shù)頭,過程頭,和外部可視數(shù)據(jù)結(jié)構(gòu);另一部分是包主體(package body),包主體包含了所有被捆綁的過程和函數(shù)的聲明、執(zhí)行、異常處理部分。
打包的PL/SQL程序和沒有打包的有很大的差異,包數(shù)據(jù)在用戶的整個(gè)會話期間都一直存在,當(dāng)用戶獲得包的執(zhí)行授權(quán)時(shí),就等于獲得包規(guī)范中的所有程序和數(shù)據(jù)結(jié)構(gòu)的權(quán)限。但不能只對包中的某一個(gè)函數(shù)或過程進(jìn)行授權(quán)。包可以重載過程和函數(shù),在包內(nèi)可以用同一個(gè)名字聲明多個(gè)程序,在運(yùn)行時(shí)根據(jù)參數(shù)的數(shù)目和數(shù)據(jù)類型調(diào)用正確的程序。
創(chuàng)建Oracle包必須首先創(chuàng)建包規(guī)范,創(chuàng)建Oracle包規(guī)范的語法如下:
- CREATE [OR REPLACE] PACKAGE package_name
- {AS|IS}
- public_variable_declarations |
- public_type_declarations |
- public_exception_declarations |
- public_cursor_declarations |
- function_declarations |
- procedure_specifications
- END [package_name]
創(chuàng)建包主體使用CREATE PACKAGE BODY語句:
- CREATE [OR REPLACE] PACKAGE BODY package_name
- {AS|IS}
- private_variable_declarations |
- private_type_declarations |
- private_exception_declarations |
- private_cursor_declarations |
- function_declarations |
- procedure_specifications
- END [package_name]
私有數(shù)據(jù)結(jié)構(gòu)是那些在包主體內(nèi)部,對被調(diào)用程序而言是不可見的。
【編輯推薦】
Oracle over()函數(shù)的使用實(shí)例