017.PL-SQL编程—函数

无奋斗不青春

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈

分隔线
在这里插入图片描述

PL-SQL编程—函数

函数
  • 函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据。我们可以用create function来建立函数
  • 语法
    create function 函数名(参数 参数类型) return number is 返回值变量 返回值类型(7,2);
    begin
      执行语句
      return 返回值变量;
    end;
    
  • 示例
  • 定义函数
    create function sp_fun1(spName varchar2) return number is yearSal number(7,2);
    begin
      select (sal+nvl(COMM,0))*12 into yearSal from emp where ename=spname;
      return yearSal;
    end;
    
  • 函数调用
    • 在PL/SQL中调用函数
      var aa number
      /*定义变量 aa 类型为number*/
      call sp_fun1('SCOTT') into:aa
      /*调用sp_fun1函数,将返回值存入aa变量*/
      
    • 在程序中调用函数
  • 实例
  1. 查询指定用户的年薪
    -- 定义函数部分
    create function sp_fun1(spname varchar2) return number is yearsal number(7,2);
    begin
        select (sal+nvl(comm,0))*12 into yearsal from emp where ename=spname;
        return yearsal;
    end;
    
    -- PL/SQL调用函数部分
    var aa number
    /*定义变量 aa 类型为number*/
    call sp_fun1('SCOTT') into:aa
    /*调用sp_fun1函数,将返回值存入aa变量*/
    
  • 在这里插入图片描述

块&过程&函数
  • 演示代码
    
    /*============================================================================*/
    
    --块
    declare
      v_name varchar2(30);
      v_sal number(7,2);
    begin
      select ename,sal into v_name,v_sal from emp where empno=&a;
      dbms_output.put_line('员工姓名:'||v_name||'    员工工资:'||v_sal);
    exception
      when no_data_found then
        dbms_output.put_line('没有数据');
    end;
    
    /*============================================================================*/
    
    -- 过程
    create or replace procedure sp_pro1(spName varchar2,spPosw varchar2) is
    
    begin
      insert into mytest values(spName,spPosw);
    end;
    
    /*============================================================================*/
    
    --函数
    create or replace function sp_fun1(spName varchar2) return number is yearSal number(7,2);
    begin
      select (sal+nvl(COMM,0))*12 into yearSal from emp where ename=spname;
      return yearSal;
    end;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值