实例一:创建一个带有输入参数的存储过程
--1;创建输入参数的存储过程 proce1是存储过程的名字 v_empno IN 意思是v_empno是一个输入类型的参数 类型和empnew表中的enpno字段类型一致
CREATE OR REPLACE PROCEDURE proce1
( v_empno IN empnew.empno%TYPE )
IS
BEGIN
--根据员工号删除指定的员工信息
DELETE FROM empnoew WHERE empno = v_empno ; //指定的员工是传来的参数
--判断是否删除成功
IF SQL%NOTFOUND THEN
--20000--20999之间 错误号
RALSE_APPLICATION_ERROR(-20008,'指定删除的的员工不存在');
ELSE
DBMS_OUTPUT.PUT.put_line('删除成功!');
END IF;
END;
实例二 创建带有输出参数的存储过程
2、创建带有输入参数的存储过程
CREATE OR REPLCAE PROCEDURE proce2
(v_deptno IN NUMBER , v_avgsal OUT NUMBER, v_cnt OUT NUMBER)
IS
BEGIN
SELECT AVG(sal) ,COUNT(*)
INTO v_avgsal ,v_cnt
FROM emp
WHERE deptno=v_deptno;
EXCEPTION
WHERE NO_DATA_FOUND THEN
DBMS_OUTPUT.put_line('没有此部门');
WHEN OTHERS THEN
DBMS_OUTPUT.put_line(SQLERRM);
END;
创建带有输入输出参数的存储过程
--3、创建带有输入输出参数的存储过程
CREATE OR REPLACE PROCEDURE proc3
(v_num1 IN OUT NUMBER , v_num2 IN OUT NUMBER )
AS
v_temp NUMBER :-0;
BEGIN
v_temp:=v_num1;
v_num1:=v_num2;
v_num2:=v_temp;
END;