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

ORACLE 函数开发

阅读更多

1、建立函数的语法:

  CREATE [OR REPLACE] FUNCTION 函数名

 

  [ (arg1 [mode] datatype[,........])]  --当指定参数数据类型时,不能指定其长度。mode值:IN、OUT、IN OUT,当mode 未指定时,表示为IN

 

  RETURN datatype       --用于指定函数返回值的数据类型,不能指定其长度

  IS|AS

 

   pl/sql block;         --当建立函数时,在函数头部必须要带有RETURN子句,在函数体内至少要包含一条RETURN语句。

例1、无参函数

SQL> CREATE OR REPLACE function HX_01   --创建HX_01函数
  2  RETURN VARCHAR2
  3  IS
  4    v_name varchar2(20);
  5  begin
  6    select ename into v_name from emp where empno=7369;
  7    return v_name;
  8  end;
  9  /
 
Function created
 
SQL> select hx_01 from dual; --执行函数
 
HX_01
--------------------------------------------------------------------------------
SMITH

例2、带有一个IN参数

SQL> CREATE OR REPLACE function HX_02  --创建HX_02函数
  2  (v_no in emp.empno%type)
  3  RETURN VARCHAR2
  4  IS
  5    v_name varchar2(20);
  6    v_sal emp.sal%type;
  7    v_dname dept.dname%type;
  8    v_return varchar2(100);
  9  begin
 10    select a.ename,a.sal,b.dname into v_name,v_sal,v_dname from emp a,dept b where a.deptno=b.deptno and empno=v_no;
 11    v_return:='姓名:'||rpad(v_name,8)||LPAD('工资:',6)||v_sal||lpad('部门',6)||v_dname;
 12    return v_return;
 13  end;
 14  /
 
Function created

SQL> begin
  2  dbms_output.put_line(hx_02(7566));  --执行函数
  3  end;
  4 
  5  /
 
PL/SQL procedure successfully completed
 输出:姓名:JONES   工资:2975  部门RESEARCH

或:

SQL>   select hx_02(7566) from dual;
 
HX_02(7566)
--------------------------------------------------------------------------------
姓名:JONES   工资:2975  部门RESEARCH

 例3、带有IN、OUT参数

 

  SQL> CREATE FUNCTION hx_03    --创建HX_03函数
  2  (v_n1 emp.empno%type,v_n2 out emp.ename%type,v_n3 out emp.sal%type,v_n4 out dept.dname%type)
  3  return emp.job%type
  4  as
  5   job emp.job%type;
  6  begin
  7    select a.job,a.ename,a.sal,b.dname into job,v_n2,v_n3,v_n4
  8    from emp a,dept b
  9    where a.deptno=b.deptno
 10    and a.empno=v_n1;
 11    return job;
 12  end;
 13  /
 
Function created

 


declare
  v1 emp.job%type;
  v2 emp.ename%type;
  v3 emp.sal%type;
  v4 dept.dname%type;
begin
  v1:=hx_03(7566,v2,v3,v4); --使用刚才定义的变量接收函数的输出值
  dbms_output.put_line('姓名:'||v2||' '||'职业:'||v1||' '||'薪水:'||v3||' '||'部门:'||v4);
end;

输出:姓名:JONES 职业:MANAGER 薪水:2975 部门:RESEARCH

 

 例4、带有in out参数

CREATE OR REPLACE FUNCTION HX_04(v_name in out varchar2)   --创建HX_04函数
RETURN VARCHAR2
AS
BEGIN
 SELECT DEPT.DNAME INTO V_NAME FROM DEPT,EMP WHERE DEPT.DEPTNO=EMP.DEPTNO AND EMP.ENAME=V_NAME;
 RETURN NULL;
END;

 

DECLARE  --执行函数
  A VARCHAR2(20);
  B VARCHAR2(20);
BEGIN
  A:='WARD';
  B:=HX_04(A);
  DBMS_OUTPUT.put_line('A:='||A||' B:='||B);
END;

输出:A:=SALES B:=

2、删除函数语法

drop function 函数名;

分享到:
评论

相关推荐

    oracle函数大全(CHM格式).rar

    通过深入研究这个"Oracle函数大全",不仅可以掌握各种函数的使用,还能了解到如何结合这些函数解决实际问题,提升在Oracle数据库开发和管理中的技能。同时,了解函数的性能影响也是重要的一环,比如是否使用了索引、...

    oracle 函数大全 参考函数 手册 速查 chm格式

    Oracle函数是数据库操作中的核心组成部分,它们允许开发人员和DBA执行各种计算、转换、查询和数据处理任务。手册中可能涵盖了以下几类函数: 1. 数学函数:如ABS(取绝对值)、MOD(取模)、ROUND(四舍五入)等,...

    oracle函数分类.rar

    下面将详细讲解在"oracle函数分类.rar"压缩包中的主要函数类别及其应用。 首先,我们关注的是**数值型函数**。在处理数字数据时,Oracle提供了多种操作函数,如`ROUND`用于四舍五入,`TRUNC`用于截断小数部分,`MOD...

    Oracle函数大全-详细介绍.rar

    Oracle数据库是世界上最流行的数据库...通过阅读这些文档,无论是数据库管理员还是开发人员,都可以增强对Oracle函数的理解,提高数据库操作和查询的效率。记得实践中不断探索和应用,以深化理论知识,提升实际技能。

    postgresql 兼容 oracle 函数

    为了使PostgreSQL更加Oracle友好,社区开发了一些扩展,例如"orafce"(Oracle Functions for PostgreSQL)项目,这个项目的主要目标就是提供一个与Oracle兼容的函数库,使得PostgreSQL能更好地支持Oracle的语法和...

    oracle函数大全(分类成9个word文档)

    总的来说,这个压缩包提供的Oracle函数大全对于数据库管理员、开发人员或学习者来说是一份宝贵的资源,它详尽地介绍了Oracle中各种类型的函数,帮助用户更好地理解和使用这些功能,提高工作效率。无论是日常的查询...

    hibernate 调用oracle函数

    总的来说,Hibernate调用Oracle函数涉及到了数据库设计、ORM框架的使用、原生SQL查询和结果映射等多个方面,熟练掌握这些技能对于开发高质量的企业级应用至关重要。希望这篇文章能帮助你更好地理解和应用这些知识。

    Oracle函数手册.rar

    通过深入阅读"Oracle函数手册",不仅可以了解函数的基本用法,还能学习到如何结合这些函数解决实际问题,提升数据库管理与开发的技能。对于初学者来说,这是一个很好的起点,而对于经验丰富的开发者,这个手册也可以...

    Oracle函数学习资料

    在Oracle函数学习中,我们通常会接触到各种类型的函数,包括处理类函数、数字函数和日期函数等。以下是对这些函数的详细说明: 1. **处理类函数**: - **LOWER函数**:此函数用于将字符串中的所有字母转换为小写。...

    oracle函数大全及知识点api

    本文将深入探讨Oracle函数大全及其API,同时也会涉及到错误代码查询,帮助你更好地理解和应用Oracle数据库。 一、Oracle函数概览 Oracle数据库提供了一系列内置函数,涵盖了数学、字符串、日期时间、转换、系统...

    ORACLE函数大全与整理

    总结来说,Oracle函数大全是开发人员不可或缺的工具,它可以帮助你更好地理解和运用Oracle数据库的强大功能,解决实际问题。不断熟悉和掌握这些函数,将使你在数据库管理、数据分析以及应用开发中更加得心应手。

    Oracle函数速查手册

    这份"Oracle函数速查手册"旨在为用户提供一个全面、便捷的参考资源,无论是初学者还是经验丰富的开发者,都能从中受益。 Oracle函数分为多种类型,包括数值函数、字符串函数、日期时间函数、转换函数、系统信息函数...

    oracle函数大全(分类显示).zip_Oracle 函数分类_oracle_oracle函数分类_oracle函数查阅用文档

    这份"oracle函数大全(分类显示).zip"压缩包显然是一份详细的Oracle函数参考手册,对于初学者而言,是一个非常宝贵的资源。下面,我们将深入探讨Oracle函数的分类以及一些重要的函数类型。 1. **数学函数**: 包括...

    oracle函数大全笔记

    oracle函数大全笔记,记录了开发所用到系统函数(函数名+实例),简明扼要,通俗易懂。

    oracle函数速查手册

    总的来说,Oracle函数速查手册是数据库管理员、开发人员和数据分析者的得力助手,通过学习和查阅,可以快速解决在处理Oracle数据库时遇到的问题。无论是进行数据查询、更新,还是进行复杂的数据分析,掌握Oracle函数...

    oracle函数大全中文api文档

    "Oracle函数大全中文API文档"是一个非常实用的资源,它提供了对Oracle数据库所有内置函数的详尽解释,帮助开发者和DBA快速理解和使用这些函数。 1. **日期与时间函数**: Oracle提供了处理日期和时间的大量函数,...

    ORACLE函数大全CHM

    本资源“ORACLE函数大全CHM”显然是一个针对Oracle数据库中的各种函数的参考手册,旨在帮助开发者和DBA深入理解和使用Oracle的内置函数。CHM文件是一种常见的Windows帮助文档格式,通常包含丰富的文本、索引和搜索...

    Oracle数据库开发之函数概述

    在数据库系统中,函数是一组预定义的程序,用于执行特定的运算任务。Oracle数据库提供了丰富的内置函数,这些...通过不断实践和应用这些函数,开发者可以更好地理解和驾驭Oracle数据库,从而提高自身的数据库开发能力。

    Mysql+Oracle函数文档

    这里,我们主要探讨的是它们的函数用法,通过提供的文档资源——"MySQL_5.1_zh.chm" 和 "oracle函数大全(分类显示).chm",我们可以深入了解这两个数据库系统的函数功能和应用场景。 首先,MySQL 是一款开源、免费的...

Global site tag (gtag.js) - Google Analytics