oracle11 新函数,【Oracle11g】20_函数

函数是可以返回值的命名的 PL/SQL 子程序。

1.语法

CREATE [OR REPLACE] FUNCTION

[(param1,param2)]

RETURN IS|AS

[local declarations]

BEGIN

Executable Statements;

RETURN result;

EXCEPTION

Exception handlers;

END;

2.定义函数的限制

函数只能接受 IN 参数,而不能接受 IN OUT 或 OUT 参数

形参不能是 PL/SQL 类型,只能是数据库类型

函数的返回类型也必须是数据库类型

3.访问函数的两种方式

使用 PL/SQL 块

使用 SQL 语句

4.实战演练

-- 建立函数(编译有错误,可以使用show error查看错误信息)

create or replace function test_func

return varchar2

is

begin

return ‘hello,Logan‘;

end;

-- 在SQL中调用

select test_func from dual;

-- 在PL/SQL中调用(首先需要执行:set serverout on)

declare

str varchar2(40);

begin

str := test_func;

dbms_output.put_line(str);

end;

5.过程和函数的区别

过程

函数

作为 PL/SQL 语句执行

作为表达式的一部分调用

在规格说明中不包含 RETURN 子句

必须在规格说明中包含 RETURN 子句

不返回任何值

必须返回单个值

可以包含 RETURN 语句,但是与函数不同,它不能用于返回值

必须包含至少一条 RETURN语句

原文:https://www.cnblogs.com/OliverQin/p/12853616.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值