plSQl function PROCEDURE 使用实例



Function 的使用

参数即为输入参数

使用return返回参数

格式CREATE OR REPLACE FUNCTION+函数名+(参数+类型)+RETURN 类型 IS+名称+类型+BEGIN+END 函数名;

CREATE ORREPLACEFUNCTION get_employee_salary(empoyee_idNUMBER)RETURN NUMBER IS

  salary NUMBER;

BEGIN

  SELECT e.salary

    INTO salary

    FROM employees e

   WHERE e.employee_id = empoyee_id;

  RETURN(salary);

EXCEPTION

  WHEN no_data_found THEN

    RETURN(-1);

  WHEN OTHERSTHEN

    RETURN(0);

 

END get_employee_salary;


 PROCEDURE 使用

输入参数使用in关键字标识

输出参数使用out参数表示

格式 CREATE OR REPLACE PROCEDURE+名称+参数(名称+in/out+类型)+BEGIN+程序体+END 名称;

CREATE ORREPLACEPROCEDURE update_employee_salary(empoyee_id   INNUMBER,

                                                  employee_name OUT VARCHAR2,

                                                  salary        OUT VARCHAR2)IS

BEGIN

  BEGIN

    SELECT e.first_name || ' ' || e.last_name employee_name,

           e.salary

      INTO employee_name,

           salary

      FROM employees e

     WHERE e.employee_id = empoyee_id;

  EXCEPTION

    WHEN no_data_found THEN

      employee_name := 'E';

      salary        := 0;

    WHEN OTHERS THEN

      employee_name := 'N';

      salary        := 0;

  END;

  UPDATE employees e

     SET e.salary = e.salary + 2000

   WHERE e.employee_id = empoyee_id;

ENDupdate_employee_salary;

 



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值