oracle 的过程,函数,包等创建

oracle 的过程,函数,包等创建

ID:15247152

大小:37.00 KB

页数:5页

时间:2018-08-02

oracle 的过程,函数,包等创建_第1页
oracle 的过程,函数,包等创建_第2页
oracle 的过程,函数,包等创建_第3页
oracle 的过程,函数,包等创建_第4页
oracle 的过程,函数,包等创建_第5页
资源描述:

《oracle 的过程,函数,包等创建》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ORACLE的过程,函数,包等创建的過程和函數都以編譯後的形式存放在數據庫中,函數可以沒有參數也可以有多個參數並有一個返回值。過程有零個或多個參數,沒有返回值。函數和過程都可以通過參數列表接收或返回零個或多個值,函數和過程的主要區別不在於返回值,而在於他們的調用方式。過程是作為一個獨立執行語句調用的:    pay_involume(invoice_nbr,30,due_date);    函數以合法的運算式的方式調用:    order_volumn:=open_orders(SYSDATE,30);    創建過程的語法如下:  

2、  CREATE[ORREPLACE]PROCEDURE[schema.]procedure_name  [parameter_lister]  {AS

3、IS}  declaration_section  BEGIN  executable_section  [EXCEPTION  exception_section]  END[procedure_name]    每個參數的語法如下:    paramter_namemodedatatype[(:=

4、DEFAULT)value]    mode有三種形式:IN、OUT、INOUT。

5、    IN表示在調用過程的時候,實際參數的取值被傳遞給該過程,形式參數被認為是只讀的,當過程結束時,控制會返回控制環境,實際參數的值不會改變。    OUT在調用過程時實際參數的取值都將被忽略,在過程內部形式參數只能是被賦值,而不能從中讀取數據,在過程結束後形式參數的內容將被賦予實際參數。    INOUT這種模式是IN和OUT的組合;在過程內部實際參數的值會傳遞給形式參數,形勢參數的值可讀也可寫,過程結束後,形勢參數的值將賦予實際參數。    創建函數的語法和過程的語法基本相同,唯一的區別在於函數有RETUREN子句    CRE

6、ATE[ORREPLACE]FINCTION[schema.]function_name  [parameter_list]  RETURNreturning_datatype  {AS

7、IS}  declaration_section  BEGIN  executable_section  [EXCEPTION]  exception_section  END[procedure_name]    在執行部分函數必須有喲個或多個return語句。    在創建函數中可以調用單行函數和組函數,例如:    CREATEORREPLAC

8、EFUNCTIONmy_sin(DegreesInINNUMBER)  RETURNNUMBER  IS  piNUMBER=ACOS(-1);  RadiansPerDegreeNUMBER;    BEGIN  RadiansPerDegree=pi/180;  RETURN(SIN(DegreesIn*RadiansPerDegree));  END  包    包是一種將過程、函數和數據結構捆綁在一起的容器;包由兩個部分組成:外部可視包規範,包括函數頭,過程頭,和外部可視數據結構;另一部分是包主體(packagebody),包

9、主體包含了所有被捆綁的過程和函數的聲明、執行、異常處理部分。    打包的PL/SQL程式和沒有打包的有很大的差異,包數據在用戶的整個會話期間都一直存在,當用戶獲得包的執行授權時,就等於獲得包規範中的所有程式和數據結構的許可權。但不能只對包中的某一個函數或過程進行授權。包可以重載過程和函數,在包內可以用同一個名字聲明多個程式,在運行時根據參數的數目和數據類型調用正確的程式。    創建包必須首先創建包規範,創建包規範的語法如下:    CREATE[ORREPLACE]PACKAGEpackage_name  {AS

10、IS}  pub

11、lic_variable_declarations

12、  public_type_declarations

13、  public_exception_declarations

14、  public_cursor_declarations

15、  function_declarations

16、  procedure_specifications  END[package_name]    創建包主體使用CREATEPACKAGEBODY語句:    CREATE[ORREPLACE]PACKAGEBODYpackage_name  {AS

17、IS}  p

18、rivate_variable_declarations

19、  private_type_declarations

20、  private_exception_declarations

21、  private_cursor_dec

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。