一、开发函数
函数用于返回特定数据,如果在应用程序中经常需要返回特定数据,可以基于操作建立一个函数,通过使用函数,不仅可以简化客户端程序的开发和维护,而且还可以提高应用程序的性能,语法如下:
create [or replace]function function_name
(argument1[mode] dateType1,argument2[mode] dateType2........)
return dateType
IS/AS
PL/SQL block
如上所示:function_name用于指定函数名称,argument1、argument2用于指定函数的参数,mode用于指定参数模式,dateType1、dateType2用于指定函数参数类型;IS/AS用于表示开始一个PL/SQL块。当指定参数类型时不能指定参数长度,另外当建立函数时即可以指定输入参数(IN),也可以指定输出参数(OUT),又可以指定输入输出参数(INOUT),return子句用于指定函数返回值的数据类型。当建立函数时,在函数头部必须要带有return子句,在函数体内至少要包括一条return 语句,
1、建立函数:不带任何参数
create or replace function function_test
return varchar2
is
v_name varchar2(10);
begin
select name into v_name from cip_temps where id=29;
return v_name;
end;
调用函数,代码如下:
SQL> var name varchar2(10)
SQL> exec :name:=function_test1;
SQL> print name;
2、建立函数:带有IN参数
当创建函数时,可以通过输入参数将应用程序的数据传递到函数中,最终通过执行函数将结果返回到应用程序中。当定义函数参数时,如果不指定函数模式,则默认为输入参数,所以IN关键字可写可不写。
create or replace function function_in(v_id number)
return varchar2
is
v_name varchar2(10);
begin
select name into v_name from cip_temps where id=v_id;
return v_name;
end;
调用函数,代码如下:
SQL> var name varchar2(10)
SQL> exec :name:=function_in(29);
SQL> print name;
3、建立函数:带有OUT参数
一般情况下,函数之需要返回单个数据,如果希望使用函数同时返回多个数据,则就需要使用OUT参数了。
create or replace function function_out
(v_id number,v_age out varchar2)
return varchar2
is
v_name varchar2(10);
begin
select name,age into v_name,v_age from cip_temps where id=v_id;
return v_name;
end;
该函数带有OUT参数,所以不能在SQL语句中调用该函数,必须通过定义变量接受OUT参数和函数的返回值。
调用函数,代码如下:
SQL> var name varchar2(10)
SQL> var age varchar2(10)
SQL> exec :name:=function_out(29,:age);
SQL> print name age;
4、建立函数:带有IN OUT参数
定义函数时,不仅可以定义IN和OUT参数,也可以指定IN OUT参数,IN OUT参数为输入输出参数,当使用这种参数时,在调用函数之前需要通过变量给该参数传递数据,在调用结束之后,oracle会通过该变量将过程结果传递给应用程序,示例如下:
create or replace function function_inout
(num1 number,num2 in out number)
return number
is
v1 number;
v2 number;
begin
v1:=num1+num2;
v2:=num1*num2;
num2:=v2;
return v1;
end;
/
该函数带有OUT参数,所以不能在SQL语句中调用该函数,必须通过定义变量接受OUT参数和函数的返回值。
调用函数,代码如下:
5、函数调用限制
并不是所有的函数都可以在SQL语句下调用,在SQL语句中调用函数有以下限制:
(1)、在SQL语句中只能调用存储函数(服务器端),而不能调用客户端函数。
(2)、在SQL语句中调用的函数只能带有输入参数(IN),而不能带有输出参数(OUT)和输入输出参数(IN OUT)。
(3)、在SQL语句中调用的函数不能包括INSERT、UPDATE和DELETE语句。
(4)、在SQL语句中调用的函数只能使用SQL语句所支持的标准数据类型,而不能使用PL/SQL的特有数据类型(例如:BOOLEAN,TABLE和RECODE)。
分享到:
相关推荐
Oracle函数是数据库操作中的核心组成部分,它们允许开发人员和DBA执行各种计算、转换、查询和数据处理任务。手册中可能涵盖了以下几类函数: 1. 数学函数:如ABS(取绝对值)、MOD(取模)、ROUND(四舍五入)等,...
"Oracle函数大全(CHM格式).rar"这个压缩包显然包含了关于Oracle数据库中各种函数的详细信息,对于学习和查询Oracle函数是非常宝贵的资源。 CHM(Compiled Help Manual)格式是一种由Microsoft开发的帮助文件格式...
oracle函数大全.chm oracle函数大全.chm
oracle函数介绍 1 著名函数之单值函数 pdf oracle函数介绍 2 非著名函数之单值函数 pdf oracle函数介绍 3 著名函数之聚合函数 pdf oracle函数介绍 4 非著名函数之聚合函数 pdf oracle函数介绍 5 分析函数简述 ...
以下是关于Oracle函数的一些详细说明: 1. ASCII函数:ASCII函数返回与输入字符相对应的ASCII码,即十进制数字。例如,ASCII('A')返回65,ASCII('a')返回97。 2. CHR函数:CHR函数根据提供的整数返回对应的字符。...
Oracle函数.chm
下面将详细讲解在"oracle函数分类.rar"压缩包中的主要函数类别及其应用。 首先,我们关注的是**数值型函数**。在处理数字数据时,Oracle提供了多种操作函数,如`ROUND`用于四舍五入,`TRUNC`用于截断小数部分,`MOD...
4. **定义Hibernate Native SQL查询**:由于Hibernate默认不支持调用存储过程或函数,我们需要使用`@NamedNativeQuery`或`@SqlResultSetMapping`注解来定义一个原生SQL查询,用于调用Oracle函数。例如: ```java @...
标题和描述中提到的“postgresql 兼容 oracle 函数”就是指在PostgreSQL中实现与Oracle类似的函数,以便于在两个系统间平滑过渡。 Oracle数据库拥有大量的内置函数,如日期处理、字符串操作、数学计算等,这些在...
Oracle 函数大全 Oracle 函数是数据库管理系统中的一种重要组件,用于对数据进行处理和分析。Oracle 函数可以分为多种类型,包括字符串函数、数字函数、日期函数等。本文将对 Oracle 函数进行详细的介绍,并提供...
在"Oracle函数大全-详细介绍.rar"这个压缩包中,包含了对Oracle数据库中各种函数的详细解析,包括分析函数、单值函数和聚合函数等。 首先,让我们来看看单值函数。单值函数接受一个或多个输入值,返回一个新的单一...
这里,我们将深入探讨在"Oracle函数大全"压缩包中的九个Word文档所涵盖的知识点。 首先,"ORACLE函数大全.doc"很可能是整个文档集的总览,包含Oracle数据库中的各类函数的概览和分类,可能包括数学函数、字符串函数...
了解和熟练运用这些Oracle函数,不仅可以提高数据处理的效率,还能帮助开发出更为高效和准确的SQL查询。在实际应用中,我们应当结合业务需求,灵活运用这些函数,比如在WHERE子句中进行条件筛选,或者在SELECT语句中...
本文将深入探讨Oracle函数大全及其API,同时也会涉及到错误代码查询,帮助你更好地理解和应用Oracle数据库。 一、Oracle函数概览 Oracle数据库提供了一系列内置函数,涵盖了数学、字符串、日期时间、转换、系统...
手册中的"Oracle函数手册.chm"文件很可能是一个帮助文档,提供了关于Oracle函数的全面指南。CHM(Compiled Help Manual)是Microsoft开发的一种编译后的帮助文件格式,通常用于软件的帮助系统,方便用户快速查找和...
在Oracle函数学习中,我们通常会接触到各种类型的函数,包括处理类函数、数字函数和日期函数等。以下是对这些函数的详细说明: 1. **处理类函数**: - **LOWER函数**:此函数用于将字符串中的所有字母转换为小写。...
这份"Oracle函数速查手册"旨在为用户提供一个全面、便捷的参考资源,无论是初学者还是经验丰富的开发者,都能从中受益。 Oracle函数分为多种类型,包括数值函数、字符串函数、日期时间函数、转换函数、系统信息函数...
"Oracle函数速查手册"是一份非常实用的参考资料,它涵盖了Oracle数据库中的各种函数,帮助用户快速查找并理解如何使用这些函数。在数据库管理、查询优化以及复杂数据处理时,这些函数起着至关重要的作用。 Oracle...
Oracle 函数大全 Oracle 函数大全是 Oracle 数据库管理系统中的一系列函数,用于处理和操作数据。这些函数可以分为两大类:单行函数和组函数。 单行函数 单行函数用于处理单行数据,在 SELECT、WHERE、ORDER BY ...
"Oracle函数大全中文API文档"是一个非常实用的资源,它提供了对Oracle数据库所有内置函数的详尽解释,帮助开发者和DBA快速理解和使用这些函数。 1. **日期与时间函数**: Oracle提供了处理日期和时间的大量函数,...