`

函数PLSql

阅读更多

函数

函数用于计算和返回特定的数据.可以将经常需要进行的计算写成函数.函数的调用是表达式的一部分,而过程的调用是一条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 or replace function get_salary_by_deptno

(v_dept_no in emp.deptno%type,v_emp_cnt out number)

return number

is

  v_sum number(10,2);

  begin

    select sum(sal),count(*) into v_sum,v_emp_cnt from emp

      where deptno = v_dept_no;

    return v_sum;

end get_salary_by_deptno;

 

执行函数

--pl/sql中调用函数

declare

 v_a1 emp.deptno%type;

 v_a2 number;

 v_sum number(10,2);

begin

 

 v_sum := get_salary_by_deptno(v_emp_cnt => v_a1,v_dept_no => 10);

 if v_a1 = 0 then

  dbms_output.put_line('该部门无人');

 else

  dbms_output.put_line('该部门工资总和:'||v_sum||'人数'||v_a2);

 end if;

end;

 

command window

select f_henry_GetStringLength('luofeng骆烽') mylength from dual;

 

说明:

v_emp_cnt => v_a1,实参在符号“=>”后面

 

-查看

select text from user_source where name = 'GET_SALARY_BY_DEPTNO'

函数名大写

--删除

drop function get_salary_by_deptno;

 

总结:

函数和过程比较:

从语法角度:函数需要返回类型,并且执行代码中必须有return语句,

与过程相比,函数无异常处理部分,

从使用角度,函数注重数学运算,同时也注重运算结果。使用是一般要用某个变量接受函数返回值,过程是通过具有输出属性的参数,向外面传数据。

函数也可以同时通过具有out属性的参数向外传数据。

例如下面这个例子。见附件txt

分享到:
评论

相关推荐

    PLSQL 函数查询-- 初学者

    对于初学者来说,掌握PLSQL的基本函数查询是学习的关键步骤。本篇文章将深入探讨PLSQL中的几个重要函数,以及如何在实际查询中应用它们。 1. **字符串函数**: - `LENGTH(str)`:返回字符串`str`的长度。 - `...

    PLSQL培训文档.ppt

    PLSQL 中可以定义过程和函数,过程和函数可以重复使用,提高代码的可读性和可维护性。 8. 程序包 程序包是 PLSQL 中的一种特殊类型的对象,用于存储多个相关的过程和函数,可以提高代码的可读性和可维护性。 9. ...

    PLSQL单行函数和组函数详解

    PLSQL中的单行函数和组函数是数据库操作中非常重要的概念,它们在处理数据时起着关键作用。单行函数主要用于处理单行数据,而组函数则用于处理多行数据集。 首先,让我们深入了解一下单行函数。单行函数在SQL和PL/...

    PLSQL 函数大全 值得珍藏

    Oracle PLSQL 函数大全是一份非常详细的 PLSQL 函数大全,涵盖了多种常用的字符串处理函数、数字处理函数、日期处理函数等。下面是对其中一些重要的函数的详细解释: 1. ASCII 函数:返回与指定的字符对应的十进制...

    PLSQL常用方法汇总.doc

    PLSQL中提供了多种函数,包括日期函数、字符函数、数字函数等。 1. 日期函数: datesysdate为系统日期,dual为虚表,例如: ``` select sysdate from dual; ``` 这将返回当前系统日期。 2. add_months函数:返回...

    练习利用PLSQL Developer编写和管理存储过程、存储函数和触发器等

    PLSQL Developer中存储过程、存储函数和触发器的编写和管理 PLSQL Developer是一种功能强大的Oracle数据库开发工具,提供了许多功能来帮助开发者快速编写和管理存储过程、存储函数和触发器等高级数据库对象。本文将...

    oracle总结,PLSQL单行函数和组函数详解

    Oracle数据库中的函数是SQL查询和PL/SQL编程中不可或缺的一部分,它们帮助我们处理和操作数据。函数分为两类:单行函数和组函数。本篇将详细介绍这两种函数,并以Oracle数据库为例,探讨它们的使用和重要性。 单行...

    PLSQL使用大全,涵盖各种语法常用sql函数

    本资料“PLSQL使用大全”深入探讨了PLSQL的各种语法和常用的SQL函数,对于理解和掌握Oracle数据库的开发至关重要。 1. **PLSQL基本结构** - PLSQL由声明部分、执行部分和异常处理部分组成。声明部分包括变量、常量...

    oracle plsql基本函数

    ```plsql DECLARE v_name VARCHAR2(50) := 'john doe'; v_length NUMBER; v_upper_name VARCHAR2(50); BEGIN v_upper_name := UPPER(v_name); -- 将v_name转换为大写 v_length := LENGTH(v_name); -- 获取v_...

    转帖--oracle分析函数+PLSQL小结

    分析函数与聚合函数(如SUM, AVG, COUNT等)类似,但有显著的区别:聚合函数通常会忽略分组之外的其他行,而分析函数则允许我们在不丢失其他行信息的情况下对数据进行计算。这种功能在处理复杂的数据分析和报表生成...

    经典PLSQL函数

    在PL/SQL中,可以使用多种内置函数和操作来执行数据处理、数据查询和逻辑控制等操作。下面将详细介绍文档中提到的几个经典PL/SQL函数及其用法。 1. IN用法 IN操作符在WHERE子句中用来指定列所匹配的值列表。它可以...

    plsql 函数简介

    在PL/SQL中,函数是预定义的代码块,它们接收一个或多个输入参数,并返回一个值。在处理数据时,这些函数非常有用,特别是当你需要对字符串进行操作时。以下是一些重要的PL/SQL字符串函数,它们在处理文本数据时扮演...

    1-PLSQL过程函数包

    ### PL/SQL 过程与函数包详解 #### 一、引言 在数据库领域,尤其是Oracle数据库中,PL/SQL(Procedural Language for SQL)是一种强大的编程语言,它结合了SQL的数据处理功能和传统过程化编程语言的控制结构。通过...

    plsql常用函数

    ### PL/SQL 常用函数详解 #### 1. SUBSTR 函数 **功能**:`SUBSTR` 是 PL/SQL 中用于提取字符串的一部分的函数。它接受三个参数:原始字符串、起始位置和长度。 **语法**: ```sql SELECT SUBSTR(string, start_...

    ORACLE 常用分析函数

    PLSQL开发笔记和小结;分析函数简述  ROW_NUMBER () OVER([partition_clause] order_by_clause) dense_rank在做排序时如果遇到列有重复值,则重复值所在行的序列值相同,而其后的序列值依旧递增,rank则是重复值...

    字符串分割成数组函数(plsql function)

    将字符串分割成数组: 例如将字符串“7369,7499,7521,7844"分割成 7369 7499 7521 7844 用法:可以将分割结果做为一个数组或者数据库表列来使用 select * from scott.emp where empno in (select column_value from...

    sql plsql 函数学习 Oracle 快速入门

    在函数方面,Oracle 提供了丰富的内置函数,比如日期函数。`SYSDATE` 返回当前系统日期,`DUAL` 是一个只含有单行单列的虚拟表,常用于测试。日期函数中,`ADD_MONTHS(date, months)` 添加或减去指定月份数,`LAST_...

Global site tag (gtag.js) - Google Analytics