ORcale 存储过程实例
来源:互联网 发布:php简历管理系统下载 编辑:程序博客网 时间:2024/05/21 06:21
1、建立一个存储过程用来接收一个员工号,返回他的工资和他所在部门的平均工资并作为传出参数传出。
CREATE OR REPLACE PROCEDURE p_get_emp
(i_empno emp.empno%TYPE,o_sal OUT emp.sal%TYPE,o_avg_a OUT emp.sal%TYPE)
AS
BEGIN
SELECT sal
INTO o_sal
FROM emp
WHERE empno=i_empno;
dbms_output.put_line(o_sal);
SELECT AVG(sal) AS aa
INTO o_avg_a
FROM emp WHERE deptno =(SELECT deptno FROM emp WHERE empno=i_empno);
dbms_output.put_line(o_avg_a);
END p_get_emp;
DECLARE
i_no emp.empno%TYPE;
v_sal emp.sal%TYPE;
avg_sal emp.sal%TYPE;
BEGIN
i_no:=&请输入;
p_get_emp(i_no,v_sal,avg_sal);
dbms_output.put_line(to_char(i_no) || v_sal || avg_sal);
END;
2、建立一个存储过程用来接收一个部门号,找出其中的两位最老的员工的员工号,并打印。
CREATE OR REPLACE PROCEDURE proc_deptno(i_deptno emp.deptno%TYPE)
IS
CURSOR emp_cur
IS
SELECT empno,hiredate
FROM emp
WHERE deptno=i_deptno
AND ROWNUM<=2 ORDER BY hiredate;
o_emp_col emp_cur%ROWTYPE;
BEGIN
OPEN emp_cur;
FETCH emp_cur INTO o_emp_col;
WHILE emp_cur%FOUND
LOOP
dbms_output.put_line(o_emp_col.empno ||' '||o_emp_col.hiredate);
FETCH emp_cur INTO o_emp_col;
END LOOP;
CLOSE emp_cur;
END proc_deptno;
DECLARE
i_empno emp.empno%TYPE;
i_no emp.deptno%TYPE;
BEGIN
i_no:=&请输入;
proc_deptno(i_no);
END;
3、编写一个过程用来传入一个员工号,在emp表中删除一个员工,当该员工是该部门的最后一个员工时
就在dept表中删除该员工所在的部门。
CREATE OR REPLACE PROCEDURE p_del_empno(i_empno emp.empno%TYPE)
IS
i NUMBER(2,0);
o_deptno emp.deptno%TYPE;
BEGIN
SELECT deptno
INTO o_deptno
FROM emp
WHERE empno=i_empno;
SELECT COUNT(deptno)
INTO i
FROM emp WHERE deptno=o_deptno;
DELETE
FROM emp
WHERE empno=i_empno;
IF i<=1 THEN
DELETE FROM dept
WHERE deptno=o_deptno;
END IF;
END;
DECLARE
i_empno emp.empno%TYPE;
i_no emp.empno%TYPE;
BEGIN
i_no:=&请输入;
p_del_empno(i_no);
dbms_output.put_line(i_no);
END;
- ORcale 存储过程实例
- Orcale 存储过程
- Orcale存储过程基础知识
- orcale存储过程(统计)
- orcale 存储过程学习
- spring 调用ORCALE存储过程
- orcale 存储过程样例
- orcale分页 存储过程分页
- orcale 存储过程处理分页
- orcale job 存储过程创建
- orcale存储过程批量插入表数据
- orcale 存储过程调试以及常见错误
- orcale 存储过程分页时间戳
- java程序去调用orcale存储过程
- Orcale与sqlserver分页存储过程
- orcale _分页查询存储过程
- orcale 定时执行存储过程的简单介绍
- Orcale PL/SQL 函数,存储过程,包的入门编程
- Server.UrlEncode和Server.UrlDecode的使用
- test
- 不同套接口比较
- 关于数据库取数据并显示到html:select的很难描述的问题
- DataRow属性
- ORcale 存储过程实例
- Intel平台下linux中 ELF文件动态链接的加载、解析及实例分析(二): 函数解析与卸载
- 浅谈用户体验与界面设计
- probleme directshow wmv (手动创建graph)
- asp+ajax 验证用户名是否存在
- DataGridView控件用法合集(九)
- Linux下应用程序找不到存在的库(.so/.a)的解决方法
- 初学table
- SqlDbType 与 .Net 数据类型对照表