自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle過(guò)程和函數(shù)的區(qū)別

數(shù)據(jù)庫(kù) Oracle
在Oracle數(shù)據(jù)庫(kù)中,過(guò)程和函數(shù)都以編譯后的形式存放在數(shù)據(jù)庫(kù)中,二者的主要區(qū)別在于他們的調(diào)用方式,下文對(duì)二者的區(qū)別作了詳盡的描述,供您參考。

Oracle過(guò)程和函數(shù)相信大家都比較了解,下面就為您詳細(xì)介紹Oracle過(guò)程和函數(shù)二者之間的區(qū)別,希望可以讓您對(duì)Oracle過(guò)程和函數(shù)有更深的認(rèn)識(shí)。

Oracle過(guò)程和函數(shù)都以編譯后的形式存放在數(shù)據(jù)庫(kù)中,函數(shù)可以沒(méi)有參數(shù)也可以有多個(gè)參數(shù)并有一個(gè)返回值。過(guò)程有零個(gè)或多個(gè)參數(shù),沒(méi)有返回值。函數(shù)和過(guò)程都可以通過(guò)參數(shù)列表接收或返回零個(gè)或多個(gè)值,函數(shù)和過(guò)程的主要區(qū)別不在于返回值,而在于他們的調(diào)用方式。Oracle過(guò)程是作為一個(gè)獨(dú)立執(zhí)行語(yǔ)句調(diào)用的:

  1. pay_involume(invoice_nbr,30,due_date); 

函數(shù)以合法的表達(dá)式的方式調(diào)用:

  1. order_volumn:=open_orders(SYSDATE,30); 

 

創(chuàng)建過(guò)程的語(yǔ)法如下:

  1. CREATE [ OR REPLACE] PROCEDURE [schema.]procedure_name  
  2. [parameter_lister]  
  3. {AS|IS}  
  4. declaration_section  
  5. BEGIN  
  6. executable_section  
  7. [EXCEPTION  
  8. exception_section]  
  9. END [procedure_name]   

每個(gè)參數(shù)的語(yǔ)法如下:

  1. paramter_name mode datatype [(:=|DEFAULT) value] 

mode有三種形式:IN、OUT、INOUT。

IN表示在調(diào)用過(guò)程的時(shí)候,實(shí)際參數(shù)的取值被傳遞給該過(guò)程,形式參數(shù)被認(rèn)為是只讀的,當(dāng)過(guò)程結(jié)束時(shí),控制會(huì)返回控制環(huán)境,實(shí)際參數(shù)的值不會(huì)改變。

OUT在調(diào)用過(guò)程時(shí)實(shí)際參數(shù)的取值都將被忽略,在過(guò)程內(nèi)部形式參數(shù)只能是被賦值,而不能從中讀取數(shù)據(jù),在過(guò)程結(jié)束后形式參數(shù)的內(nèi)容將被賦予實(shí)際參數(shù)。

INOUT這種模式是IN和OUT的組合;在Oracle過(guò)程內(nèi)部實(shí)際參數(shù)的值會(huì)傳遞給形式參數(shù),形勢(shì)參數(shù)的值可讀也可寫(xiě),過(guò)程結(jié)束后,形勢(shì)參數(shù)的值將賦予實(shí)際參數(shù)。

創(chuàng)建函數(shù)的語(yǔ)法和過(guò)程的語(yǔ)法基本相同,唯一的區(qū)別在于函數(shù)有RETUREN子句

  1. CREATE [ OR REPLACE] FINCTION [schema.]function_name  
  2. [parameter_list]  
  3. RETURN returning_datatype  
  4. {AS|IS}  
  5. declaration_section  
  6. BEGIN  
  7. executable_section  
  8. [EXCEPTION]  
  9. exception_section  
  10. END [procedure_name]   

在執(zhí)行部分函數(shù)必須有喲個(gè)或多個(gè)return語(yǔ)句。

在創(chuàng)建函數(shù)中可以調(diào)用單行函數(shù)和組函數(shù),例如:

  1. CREATE OR REPLACE FUNCTION my_sin(DegreesIn IN NUMBER)  
  2. RETURN NUMBER  
  3. IS   
  4. pi NUMBER=ACOS(-1);  
  5. RadiansPerDegree NUMBER;  
  6.  
  7. BEGIN  
  8. RadiansPerDegree=pi/180;  
  9. RETURN(SIN(DegreesIn*RadiansPerDegree));  
  10. END   


 

 

【編輯推薦】

Oracle to_char函數(shù)的使用

oracle函數(shù)返回表的實(shí)現(xiàn)

帶您了解Oracle FBI索引

詳解Windows下卸載Oracle數(shù)據(jù)庫(kù)

詳解Oracle多種表連接方式

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-11-29 11:27:08

oracle創(chuàng)建存儲(chǔ)過(guò)

2010-10-25 17:33:35

Oracle數(shù)學(xué)函數(shù)

2018-03-16 08:41:16

Oracle存儲(chǔ)函數(shù)

2011-05-30 14:30:08

函數(shù)存儲(chǔ)過(guò)程

2011-05-16 13:40:35

dbasysdba

2010-10-28 11:36:16

Oracle用戶

2011-05-20 13:34:35

Oracledbasysdba

2010-11-16 15:40:21

oracle游標(biāo)

2010-07-20 09:52:27

Perl構(gòu)造函數(shù)

2009-05-25 10:00:01

Oraclerownumrowid

2010-09-06 15:41:34

SQL函數(shù)存儲(chǔ)過(guò)程

2010-11-18 15:46:41

Oracle Deco

2023-02-28 11:29:09

存儲(chǔ)函數(shù)MySQL

2010-04-16 10:11:20

Oracle存儲(chǔ)過(guò)程

2010-11-19 09:48:48

ORACLE創(chuàng)建實(shí)例

2010-04-07 13:12:25

Oracle存儲(chǔ)過(guò)程

2011-05-20 15:59:06

Oracle存儲(chǔ)Sql語(yǔ)句

2023-10-19 08:01:04

FirstLastTake

2010-09-07 08:35:40

DB2常用函數(shù)

2010-09-09 09:49:18

SQL函數(shù)存儲(chǔ)過(guò)程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)