Oracle中子程式和程式包中的函式

2021-06-16 15:53:21 字數 1173 閱讀 6651

oracle中的函式

oracle中的函式是子程式和程式包中的一部分,函式與過程相似,是資料庫中儲存的已命名pl/sql程式塊。函式的主要特徵是它必須返回乙個值。建立函式時通過return子句指定函式返回值資料型別。在函式的任何地方,都可以通過「return 表示式」語句從函式返回,這裡的「表示式」的值與函式定義中指定的返回資料型別一致。

函式的建立語法:

create [or replace] function 函式名[(過程引數列表)] return 資料型別 

--宣告部分 

begin

--可執行部分

[exception]

--異常處理部分

end [函式名]; 

函式和過程是非常相似的,不同在於函式必須返回乙個值,在return後面寫明資料型別。例如:

create or replace function get_weight(agepoint int,names varchar default 'smith') return number

isweight number;

begin

select age*agepoint into weight from orcltest where name=names;

return weight;

exception

when no_data_found then

dbms_output.put_line('沒有查詢到資料'); 

end get_weight;

以上為建立了乙個函式,函式名為get_weight,有兩個引數,第二個引數有預設值。讓後做處理,返回值是weight。

資料表:

下面是測試函式的**:

sql> select get_weight(1) from dual;

get_weight(1)

-------------

23 sql> select get_weight(2,'jerry') from dual;

get_weight(2,'jerry')

---------------------

38 函式常常是作為表示式的一部份呼叫。和過程相比,函式必須在宣告中包含return語句;必須返回乙個值;必須包含至少乙個return語句,作為結束。

子程式和程式包

子程式是已命名的pl sql塊,它們儲存在資料庫中,可以為它們指定引數,可以從任何資料庫客戶端和應用程式中呼叫它們。子程式的優點如下 模組化 通過子程式,可以將程式分解為可管理的,明確的邏輯模組。可重用性 子程式在建立並執行後,就可以在任意數目的應用程式中使用。可維護性 子程式可以簡化維護操作,因為...

Oracle中的子程式和包

在oracle中通過使用子程式和包將pl sql 封裝起來,從而實現模組化,在以後的呼叫中可以多次復用,而不受前台語言的限制,同時通過用子程式和包將pl sql 封裝起來,有利於提高開發效率和執行效率,但是維護性卻沒有物件導向靈活,如果乙個子程式受到影響,就需要修改該子程式的定義。在oracle中子...

oracle中的程式包

一 程式包的基本概念 程式包可將若干函式或者儲存過程組織起來,作為乙個物件進行儲存。程式包通常由兩部分構成,規範 specification 和主體 body 程式報也可以包含常量和變數,包中的所有函式和儲存過程都可以使用這些變數或者常量。二 規範 1 建立規範 sql視窗 create or re...