1、必须返回一个值
2、只能在表达式调用

SQL> create or replace function fun1
2 return number
3 is
4 v_sum_sal emp.sal%type;
5
6 begin
7 select sum(sal) into v_sum_sal from emp where deptno=10;
8 return v_sum_sal;
9 end;
10 /
Function created SQL>
SQL> declare 4 v_sumsal emp.sal%type;
5
6 begin
7
8 v_sumsal := fun1;
9 dbms_output.put_line(v_sumsal);
10
11 end;

带有参数的函数:

IN:

SQL> create or replace function fun1
2 ( v_deptno in number)
3 return number
4 is
5 v_sum_sal emp.sal%type;
6
7 begin
8 select sum(sal) into v_sum_sal from emp where deptno=v_deptno;
9 return v_sum_sal;
10 end;
SQL> declare
2 v_sumsal emp.sal%type;
3
4 begin
5
6 v_sumsal := fun1(10);
7 dbms_output.put_line(v_sumsal);
8
9 end;

OUT:

SQL> create or replace function fun2
2
3 (v_empno number , v_ename out varchar2,v_sal out number)
4
5 return number
6
7 is
8
9 begin
10
11 select ename,sal into v_ename,v_sal from emp where empno=v_empno;
12 return v_sal;
13 end;
14 /
Function created SQL> declare
2
3 v_salary emp.sal%type;
4 v_ename emp.ename%type;
5 v_sal emp.sal%type;
6
7 begin
8 v_salary := fun2(7369,v_ename,v_sal);
9 dbms_output.put_line ('Salary is: '||v_salary);
10
11 end;

【PL/SQL练习】函数的更多相关文章

  1. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  2. oracle pl/sql split函数

    在软件开发过程中程序员经常会遇到字符串的拼接和拆分工作. 以java开发为例: 前台传入字符串拼接形式的一个JSON数据,如:"1001,1002,1003",这可能代表了一组序号 ...

  3. PL/SQL之--函数

    一.函数 函数是作为数据库对象存储在oracle数据库中,函数又被称为PL/SQL子程序.oracle处理使用系统提供的函数之外,用户还可以自己定义函数.函数通常被作为一个表达式来调用或存储过程的一个 ...

  4. PL/SQL自定义函数

    从SQL表达式中调用函数的限制 为了从SQL表达式中调用函数,一个用户定义函数必须: 是存储函数 只接受IN函数 只接收有受的SQL数据类型,而不接受PL/SQL数据类型 返回数据类型为有效的SQL数 ...

  5. pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))

    1.编写过程,输入三角形三个表的长度.在控制台打印三角形的面积. create or replace procedure pro_s(v_a number,v_b number,v_c number) ...

  6. PL/SQL编程—函数

    SQL> select * from mytest; ID NAME PASSWD SALARY ----- -------------------- -------------------- ...

  7. PL/SQL 06 函数 function

    --函数 create or replace function  函数名称(参数1 类型1,参数2 类型2,...)  return 数据类型as  变量.常量声明;begin  代码;end; cr ...

  8. PL/SQL 存储函数和过程

    --存储过程 .不带参: create or replace procedure 存储过程名 as|is --说明部分 begin --执行的语句: end: 调用存储过程 execute 存储过程名 ...

  9. Oracle PL/SQL语言函数、匿名语句及循环

    一.自定义函数 格式: create or replace function 函数名(参数名 参数类型...) return  返回值类型 as xx vachar2(20)              ...

  10. oracle 学习(三)pl/sql语言函数

    系统内置函数 数学运算函数 字符串函数 统计函数 日期函数 用户定义函数:存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样 参数模式 IN模式:表示该参数时输入给函数的参数 OU ...

随机推荐

  1. MySQL数据库MyISAM和InnoDB存储引擎的比较

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深入介绍). MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索 ...

  2. iPerf - The network bandwidth measurement tool

    What is iPerf / iPerf3 ? iPerf3 is a tool for active measurements of the maximum achievable bandwidt ...

  3. c++封装编写线程池

    在csapp学习或者其他linux底层编程的过程中,一般都会举一些多线程或多进程的例子,配合底层同步原语.系统调用api来解释怎么创建多线程/多进程. 但是这些例子和实际项目中所用到的多线程/多进程编 ...

  4. 【转】CSS浏览器兼容性与解析问题终极归纳

    1.怪异模式问题:漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中会触发怪异模式.为避免怪异模式给我们带来不必要的麻烦,最好养成书写DTD声明的好习惯. 2.IE6双边距问题:在 ...

  5. 如何巧用.htaccess设置网站的压缩与缓存

    <IfModule mod_expires.c> ExpiresActive On ExpiresDefault A86400 ExpiresByType image/gif A25920 ...

  6. (WPF) MVVM: ComboBox Binding, XML 序列化

    基本思路还是在View的Xmal里面绑定ViewModel的属性,虽然在View的后台代码中也可以实现binding,但是还是在Xmal里面相对的代码量要少一些. 此例子要实现的效果就是将一个List ...

  7. Linux命令(16)压缩,解压文件

    tar: 简介:tar命令只是把目录打包成一个归档(文件),并不负责压缩.在tar命令中可以带参数调用gzip或bzip2压缩.因为gzip和bzip2只能压缩单个文件. 在linux下是不需要后缀名 ...

  8. 转-Activity之间数据传递之Intent数据传递

    Intent意图 可用于Activity之间的数据传递,一般可分为下面两种情况,从当前Activity传递到目标Activity后有无返回值: 1.传递后无返回值的情况: 1 2 3 4 5 6 7 ...

  9. mysqldump 数据库迁移并改换engine

    1. 导出数据库 mysqldump -h172.18.165.xxx -P3306 -uroot -pxxx --add-drop-database --default-character-set= ...

  10. ext 3.2 tree 在IE10中点击事件失效的bug

    ext3.2 中的tree在IE中进行兼容性测试,遇到IE10时,无法点击,其他版本的IE(7.8.9.11)均正常.此bug是由于ext-all.js中的getAttributeNS方法不能兼容IE ...