PLSQL基础(四)储存过程与函数

储存过程

 

CREATE OR REPLACE PROCEDURE  过程名

     ...           --参数定义部分

 )

IS

   ...             --局部变量定义部分

BEGIN

  ...               --可执行部分

EXCEPTION

...                  --异常处理部分

END 过程名;

 

在END后可以加上储存过程名,也可以不加。如果要在END后加过程名,则必须要和前面的存储过程名相同。

 

在定义一个储存过程参数时,不能指定CHAR类型和VARCHAR2类型形参的长度,也不能指定NUMBER形参的精度和标度,这些约束有实参来传递。

 

 

函数:

储存过程和存储函数有不同之处,储存过程只能作为一个PLSQL语句调用,而函数作为表达式的一部分调用。并且他们的定义部分,可执行部分和异常处理部分是不同的

CREATE OR REPLACE FUNCTION  函数名

  ...   --参数

  )

RETURN  return_datatype   --函数返回值类型

IS

...        --局部变量定义

v_RreturnValue    return_datatype;

BEGIN

...          --函数处理部分

RETURN v_RreturnValue;

EXCEPTION

...

END 函数名;

 

 

函数的返回值

在函数内,是通过RETURN语句来返回值的。

在函数体中可以有多条RETURN语句,但是只能有一条被执行,在函数结束的时候,如果没有执行RETURN语句会产生错误。

 

 

函数与储存过程的相同的

都可以通过OUT模式的参数返回一个或多个值。

代码都有定义部分,可执行部分和异常处理部分

都可以使用缺省值

都可以用位置表示法和命名表示法。

 

在使用储存函数与储存过程时,一般情况下,如果只有一个返回值,则使用函数;如果有多个返回值则使用储存过程,尽管函数的形参可以是OUT模式,当时一般不这样使用。

 

 

删除过程和函数

DORP PROCEDURE 储存过程名;

DROP FUNCTION 函数名;

 

 

库存子程序和局部子程序

库存子程序,是由CREATE命令创建,并可以在其他PLSQL块中调用.他们在创建子程序时要进行编译,并将编译后的代码存储在数据库中,当子程序被调用时,编译后的代码从数据看中读出并执行。

一个子程序也可以在块的定义部分创建,这样的子程序被叫作局部子程序

局部子程序只能在定义部分的最后被创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

szwm1010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值