ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【Oracle11g】20_函数

2020-05-08 23:06:26  阅读:239  来源: 互联网

标签:语句 RETURN 函数 Oracle11g func SQL 20 PL


目录

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

1.语法

  CREATE [OR REPLACE] FUNCTION 
  <function name> [(param1,param2)]
RETURN <datatype>  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语句

标签:语句,RETURN,函数,Oracle11g,func,SQL,20,PL
来源: https://www.cnblogs.com/OliverQin/p/12853616.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有