函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句。而在函数体内必须包含return语句返回的数据。可以将经常需要进行的计算写成函数.函数的调用是表达式的一部分,而过程的调用是一条PL/SQL语句.
语法:
create [or replace] function fun_name ([para_name [in | out | in out) type, [para_name [in | out | in out) type[, ….]])
return type
is | as
声明部分
Begin
执行部分
end fun_name;
说明:
命名规范:fun_myname
参数声明:参数名,输入输出属性,数据类型。
create or replace 函数已经存在,就replace。
return type 声明返回数据类型。
无异常部分
--输入雇员的姓名,返回该雇员的年薪
create function annual_incomec(name varchar2)
return number is
annual_salazy number(7,2);
begin
--执行部分
select sal*12+nvl(comm, 0) into annual_salazy from emp where ename=name;
return annual_salazy;
end;
如果函数创建过程有编译错误,可以使用show error;
调用:
1.在sqlplus中调用函数
var income number
call annual_incomec('scott') into: income;
print income
var income number
call annual_incomec('scott') into: income;
print income
declare
n number(10);
begin
n:= annual_incomec('scott');
----1. 位置表示法调用函数
BEGIN
dbms_output.put_line(add_three_numbers(2,4,5));
END;
----2. 命名表示法调用函数
BEGIN
dbms_output.put_line(add_three_numbers(b=>3, a=>4,c=>2));
END;
----3. 混合使用位置表示法和命名表示法调用函数
BEGIN
dbms_output.put_line(add_three_numbers(3, b=>4,c=>2));
END;
----4. 排除表示法
BEGIN
dbms_output.put_line(add_three_numbers(12,c=>2));
END;
2.同样我们可以在sql中调用该函数
select annual_income('SCOTT') from dual;
这样可以通过rs.getInt(1)得到返回的结果。
查看 select text from user_source where name = 'GET_SALARY_BY_DEPTNO' (函数名大写)
删除 drop function get_salary_by_deptno;
函数和过程比较:
从语法角度:函数需要返回类型,并且执行代码中必须有return语句,
与过程相比,函数无异常处理部分,
从使用角度,函数注重数学运算,同时也注重运算结果。使用是一般要用某个变量接受函数返回值,过程是通过具有输出属性的参数,向外面传数据。
如果是PROCEDURE的话我在SQL/PLUS中可以通过EXECUTE就可以执行该PROCEDURE来查看该运行的结果,
如果是FUNCTINON的话是SELECT FUNCHTION NAME FROM DUAL
分享到:
相关推荐
Oracle-函数介绍.pptx
Oracle函数 Oracle 函数是 SQL 语言中的一种强大特征,使用函数可以对数据执行计算、改变特定的数据项、生成数据行分组输出、格式化日期和数值的显示形式、对列数据类型进行转换等。函数可以接收多个参数,但通常...
1. **头文件**:头文件提供了Oracle数据库API的声明,如oci.h,用于访问Oracle数据库的函数和数据结构。开发者可以引用这些头文件来编写与Oracle数据库交互的代码。 2. **库文件**:SDK中的库文件(如libclntsh.so...
oracle-trunc函数使用介绍.doc
Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...
Oracle函数是实现数据处理和查询的重要工具,对于任何希望深入理解和掌握Oracle数据库编程的人来说,理解并熟练运用这些函数是必不可少的。 在Oracle数据库中,函数可以分为几大类,包括内置函数、数学函数、字符串...
Oracle-OCI(Oracle Call Interface)是一种应用程序编程接口(API),它允许开发者通过函数调用来直接访问Oracle数据库,以及控制SQL语句执行的各个阶段。这一接口支持C和C++的数据类型、调用惯例、语法和语义。OCI...
传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考
1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...); 2,字符型函数(lower()、upper()、lpad()、rpad()、substr()、replace()...); 3,日期型函数(add_months()、last_day()、round()、...
Oracle 常用函数详解 Oracle 是一种关系型数据库管理系统,提供了许多实用的函数来处理字符串、数字和日期等数据类型。在实际应用中,了解这些函数的使用可以大大提高开发效率和数据处理能力。下面将详细介绍 ...
title:[Oracle]--触发器加密函数利用数据库触发器和函数给数据库内容加密。加密函数一例:给数据库183添加加密函数YOURPASSWORD:手动设置
Oracle_Sql语句资料oracle+110个常用函数经典SQL语句大全,可供学习参考。
开发者可以使用`connect()`函数建立与Oracle服务器的连接,同时支持连接池管理,以便高效地重用和管理数据库连接。 2. **游标对象**:在Python DB-API中,游标对象用于执行SQL语句和处理结果集。cx_Oracle的游标类...
本资料大全聚焦于Oracle中的函数、PL/SQL编程、触发器以及存储过程,这些都是Oracle数据库开发与管理的重要组成部分。 首先,Oracle分析函数是用于处理集合数据的高级工具,它们可以在一行上执行计算,不仅限于当前...
Oracle 自定义聚合函数-分析函数 Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 ...
你可以学习如何创建自定义函数,以及如何在SQL查询和存储过程中使用这些函数,这在`1-oracle教程之存储过程-函数-触发器.ppt`中会有详细介绍。 触发器是数据库响应特定事件(如INSERT、UPDATE或DELETE)时自动执行...
..oracle11基础_字符_数字_日期_转换-函数.docx