`
kevin.wang
  • 浏览: 252481 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle-函数

阅读更多
函数用于返回特定的数据,当建立函数时,在函数头部必须包含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-函数介绍.pptx

    oracle-函数.pptx

    Oracle函数 Oracle 函数是 SQL 语言中的一种强大特征,使用函数可以对数据执行计算、改变特定的数据项、生成数据行分组输出、格式化日期和数值的显示形式、对列数据类型进行转换等。函数可以接收多个参数,但通常...

    oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip

    1. **头文件**:头文件提供了Oracle数据库API的声明,如oci.h,用于访问Oracle数据库的函数和数据结构。开发者可以引用这些头文件来编写与Oracle数据库交互的代码。 2. **库文件**:SDK中的库文件(如libclntsh.so...

    oracle-trunc函数使用介绍.doc

    oracle-trunc函数使用介绍.doc

    oracle自定义日期函数

    Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...

    oracle-database-programming.rar_oracle_oracle函数

    Oracle函数是实现数据处理和查询的重要工具,对于任何希望深入理解和掌握Oracle数据库编程的人来说,理解并熟练运用这些函数是必不可少的。 在Oracle数据库中,函数可以分为几大类,包括内置函数、数学函数、字符串...

    Oracle-OCI(Oracle-Call-Interface)官方文档翻译

    Oracle-OCI(Oracle Call Interface)是一种应用程序编程接口(API),它允许开发者通过函数调用来直接访问Oracle数据库,以及控制SQL语句执行的各个阶段。这一接口支持C和C++的数据类型、调用惯例、语法和语义。OCI...

    oracle-字符串去重函数

    传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考

    oracle-10G函数大全.chm

    1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...); 2,字符型函数(lower()、upper()、lpad()、rpad()、substr()、replace()...); 3,日期型函数(add_months()、last_day()、round()、...

    oracle-常用函数.docx

    Oracle 常用函数详解 Oracle 是一种关系型数据库管理系统,提供了许多实用的函数来处理字符串、数字和日期等数据类型。在实际应用中,了解这些函数的使用可以大大提高开发效率和数据处理能力。下面将详细介绍 ...

    jansu-dev#Oracle-Learning-Notes#[Oracle]--触发器加密函数1

    title:[Oracle]--触发器加密函数利用数据库触发器和函数给数据库内容加密。加密函数一例:给数据库183添加加密函数YOURPASSWORD:手动设置

    Oracle-Sql语句资料oracle+110个常用函数经典SQL语句大全.zip

    Oracle_Sql语句资料oracle+110个常用函数经典SQL语句大全,可供学习参考。

    cx_Oracle-5.1.2.tar.gz

    开发者可以使用`connect()`函数建立与Oracle服务器的连接,同时支持连接池管理,以便高效地重用和管理数据库连接。 2. **游标对象**:在Python DB-API中,游标对象用于执行SQL语句和处理结果集。cx_Oracle的游标类...

    oracle资料大全--函数,编程大全

    本资料大全聚焦于Oracle中的函数、PL/SQL编程、触发器以及存储过程,这些都是Oracle数据库开发与管理的重要组成部分。 首先,Oracle分析函数是用于处理集合数据的高级工具,它们可以在一行上执行计算,不仅限于当前...

    Oracle自定义聚合函数-分析函数

    Oracle 自定义聚合函数-分析函数 Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 ...

    1-oracle培训整套教程(存储过程-函数-触发器,异常处理,游标.存储包)

    你可以学习如何创建自定义函数,以及如何在SQL查询和存储过程中使用这些函数,这在`1-oracle教程之存储过程-函数-触发器.ppt`中会有详细介绍。 触发器是数据库响应特定事件(如INSERT、UPDATE或DELETE)时自动执行...

    oracle11基础-字符-数字-日期-转换-函数.docx

    ..oracle11基础_字符_数字_日期_转换-函数.docx

Global site tag (gtag.js) - Google Analytics