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

歡迎訪問 生活随笔!

生活随笔

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

数据库

PL/SQL包(Package)

發布時間:2023/12/20 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PL/SQL包(Package) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

包(Package)的主要作用是用于邏輯組合相關的PL/SQL類型,一旦創建了包,包就會被存儲在Oracle數據庫中。

包由以下兩部分組成:

(1)包規范(Specification):主要是包的一些定義信息,不包含具體的實現,包含類型(type),記錄(record),變量(variable),常量(constant),異常(exception)定義,游標(cursor)和子程序(function or procedure)的聲明。

(2)包體(Body):包體是對包規范中聲明的子程序的實現部分。

?

包規范定義了包需要被公開的聲明部分,在創建之后將保存到數據庫用戶對應的schema中。

語法?create or replace package package_name is

-- Author : HP-- Created : 3/19/2018 3:49:59 PM-- Purpose : -- Public type declarationstype <TypeName> is <Datatype>;-- Public constant declarations<ConstantName> constant <Datatype> := <Value>;-- Public variable declarations<VariableName> <Datatype>;

CURSOR cursor_name RETURN return_type; --定義一個游標聲明
exception_name  EXCEPTION;   --定義一個異常 -- Public function and procedure declarations function <FunctionName>(<Parameter> <Datatype>) return <Datatype>;

end test_package;

?

包體:包體中實現包規范的代碼是公開的。

   不在包規范中聲明的代碼是私有的,只能在本包體內被引用。

1 create or replace package body test_package is 2 3 -- Private type declarations 4 type <TypeName> is <Datatype>; 5 6 -- Private constant declarations 7 <ConstantName> constant <Datatype> := <Value>; 8 9 -- Private variable declarations 10 <VariableName> <Datatype>; 11 12 -- Function and procedure implementations 13 function <FunctionName>(<Parameter> <Datatype>) return <Datatype> is 14 <LocalVariable> <Datatype>; 15 begin 16 <Statement>; 17 return(<Result>); 18 end; 19 20 begin 21 -- Initialization 初始化代碼塊 22 <Statement>; 23 end test_package;

?

當包第一次被調用時,將進行初始化,將包從硬盤調到內存中,放到系統全局區的共享緩沖池中,包的運行狀態則被放入用戶全局區的會話存儲區中。

包從第一次調用被初始化,一直到會話結束才釋放其運行狀態,因此包中的變量具有會話級的作用域

當會話第一次使用某個包時,會對包進行初始化,此時會初始化所有包級別的數據,對聲明中的常量或變量指定賦默認值,初始化單元中的代碼塊(即begin-end部分的語句塊)

?

在包中定義游標可分為兩種方式:

(1)在包規范中,定義整個游標,包含查詢語句。

(2)在包規范中僅定義游標頭,不包含查詢語句。在包體中指定查詢語句。

  ? 在包規范中僅定義游標頭的話,必須使用return子句指定游標將要提取的數據的元素類型,一般是select語句確定的記錄類型。

?

轉載于:https://www.cnblogs.com/ly01/p/8603843.html

總結

以上是生活随笔為你收集整理的PL/SQL包(Package)的全部內容,希望文章能夠幫你解決所遇到的問題。

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