龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

ORACLE数据库PL/SQL编程之把过程与函数说透(1)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
过程 和 函数 统称为 PL/SQL 子程序,他们是被命名的PL/SQL块,均存储在 数据库 中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用

过程函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。在本文中,主要介绍:

1、创建存储过程和函数。

2、正确使用系统级的异常处理和用户定义的异常处理。

3、建立和管理存储过程和函数。

创建函数

1. 创建函数

语法如下:

  1. CREATE [OR REPLACE] FUNCTION function_name  
  2.  
  3. (arg1 [ { IN | OUT | IN OUT }] type1  
  4.  
  5. [DEFAULT value1],  
  6.  
  7. [arg2 [ { IN | OUT | IN OUT }] type2 [DEFAULT value1]],  
  8.  
  9. ......  
  10.  
  11. [argn [ { IN | OUT | IN OUT }] typen [DEFAULT valuen]])  
  12.  
  13. [ AUTHID DEFINER | CURRENT_USER ]RETURN return_type  
  14.  
  15. IS | AS  
  16.  
  17. <类型.变量的声明部分> BEGIN 

执行部分

RETURN expressionEXCEPTION

异常处理部分END function_name;

IN,OUT,IN OUT是形参的模式。若省略,则为IN模式。IN模式的形参只能将实参传递给形参,进入函数内部,但只能读不能写,函数返回时实参的值不变。OUT模式的形参会忽略调用时的实参值(或说该形参的初始值总是NULL),但在函数内部可以被读或写,函数返回时形参的值会赋予给实参。IN OUT具有前两种模式的特性,即调用时,实参的值总是传递给形参,结束时,形参的值传递给实参。调用时,对于IN模式的实参可以是常量或变量,但对于OUT和IN OUT模式的实参必须是变量。

一般,只有在确认function_name函数是新函数或是要更新的函数时,才使用OR REPALCE关键字,否则容易删除有用的函数。

精彩图集

赞助商链接