oracle数据库函数概念,Oracle概念:过程、函数、程序包(中)

函数:

与过程相似,遵循了相同的规则。

参数传递:只能带有in参数,不能使用out, in out 参数

函数的主要特性是必须返回一个值。

语法:

CREATE [OR REPLACE] FUNCTION function_name (参数)

RETURN datatype

IS | AS

[PRAGMA AUTONOMOUS_TRANACTION;] –声明自主事务处理。

[本地变量声明]

BEGIN

执行语句部分

[EXCEPTION]

错误处理部分

END[name];

/

返回值:

定义函数的时候必须使用RETURN datatype 子句,表示函数要返回的数据类型。

在函数体中的任何地方,都可以使用 RETURN 返回值,类型要和定义中的相同。

CREATE OR REPLACE

FUNCTION my_func

RETURN varchar2

As

Begin

Return ‘HELLO, WORLD’;

END;

/

调用函数:

用户必须要获取返回值,所以调用时,要声明一个局域变量:

set serveroutput on

declare

l_str varchar2(100) := null;

begin

l_str := my_func;

dbms_output.put_line(l_str);

end;

/

也可以将函数用作其他过程以及函数的IN参数。

Create or replace

Procedure show_it(p varchar2) as

Begin

Dbms_output.put_line(p);

End;

/

exec show_it(my_func);

练习:

编写一个函数ITE,实现:boolean expression ? true_value: false_value

输入一个表达式expression, IF正确,THEN输出true_value;ELSE,输出false_value

分析:3个in 参数,一个boolean, 2个varchar2

create or replace

function ite(

p_expression Boolean,

p_true varchar2,

p_false varchar2)

return varchar2

as

begin

if p_expression then

return p_true;

end if;

return p_false;

end;

/

exec dbms_output.put_line(ite(1=2, ‘Equal’

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget

官方微博

TechTarget中国

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值