PLSQL 中的存储过程和函数简单使用
来源:互联网 发布:js array键值对 编辑:程序博客网 时间:2024/05/29 04:12
以下的测试数据皆在以hr登录的 employees 及其相关表中
首先我们来写一个存储过程:
可以写出如下代码:
CREATE OR REPLACE PROCEDURE update_employee_salary(emp_id IN NUMBER, emp_name OUT VARCHAR2, emp_sa OUT NUMBER) ISBEGIN UPDATE employees emp SET emp.salary = emp.salary + 2000 WHERE emp.employee_id = emp_id; SELECT first_name||' '||last_name, salary INTO emp_name, emp_sa FROM employees WHERE employee_id = emp_id;EXCEPTION WHEN no_data_found THEN emp_name := 'E'; emp_sa := 0; WHEN OTHERS THEN emp_name := 'N'; emp_sa := 0;END update_employee_salary;
那么我们该如何使用这个存储过程呢?
--------题目1------------ 创建 Procedure update_employee_salary-- 输入参数 : employee_id-- 存储过程逻辑:根据employee_id 查出员工的信息,更新员工的工资,加 2000-- 输出结果: 返回 employee_name 和 salary-- 找不到: E 0 其他异常: N 0DECLARE TYPE emp_rec_type IS RECORD( emp_name employees.last_name%TYPE, emp_sa employees.salary%TYPE); emp_rec emp_rec_type;BEGIN -- 使用存储过程 -- update_employee_salary(110, emp_rec.emp_name, emp_rec.emp_sa); ---------------- dbms_output.put_line(emp_rec.emp_name || ':' || emp_rec.emp_sa);END;
输出结果:
John Chen:12200
我们再来创建一个函数:
写出如下代码:
create or replace function get_employee_salary(emp_id IN NUMBER) return NUMBER is sa NUMBER;begin SELECT emp.salary INTO sa FROM employees emp WHERE emp.employee_id=emp_id; RETURN sa;EXCEPTION WHEN no_data_found THEN RETURN -1; WHEN OTHERS THEN RETURN -2;end get_employee_salary;
那么我们怎样使用函数呢?
--------题目2------------ 创建 Function get_employee_salary-- 输入参数 : employee_id-- 输出结果:当前用户的工资 找不到数据返回 -1 其他异常返回 -2SELECT get_employee_salary(100) FROM dual;
以上就是有关存储过程和函数的简单使用了!
阅读全文
0 0
- PLSQL 中的存储过程和函数简单使用
- PLSQL导出函数和存储过程
- PLSQL中的存储过程
- 在 PLSQL 中调试 存储过程和存储函数
- MySQL 中的自定义函数和存储过程 简单实例
- ADF中调用PLSQL存储过程和函数
- ADF中调用PLSQL存储过程和函数
- ADF中调用PLSQL存储过程和函数
- OAF中调用plsql函数和存储过程
- 数据库中的事务、存储过程和触发器的简单使用
- plsql存储过程和java
- PLSQL存储过程及存储函数
- Mysql中的存储过程和存储函数
- plsql 存储过程,函数,触发器学习
- Oracle的plsql 函数、存储过程
- plsql 函数与存储过程的区别
- oracle函数和存储过程简单实例
- DB2中的存储过程和函数
- GPS和GPRS
- JUnit4时间(超时)测试实例
- 【Android】解决SurfaceView 会闪 露出背景内容的问题
- Maven入门学习
- 栈的创建 以及基本操作出栈 入栈,判空
- PLSQL 中的存储过程和函数简单使用
- hdu-1022-Train Problem I
- shiro的多数据源和认证策略
- Caffe源码阅读笔记
- struts2配置文件常用配置
- React Native入门(五)之使用输入框TextInput,按钮Button搭建登录界面
- M
- r-cnn系列代码编译及解读(3)
- (ubuntu)下apache2 有关的系统文件的路径和说明