SQL简单存储过程

-- 根据员工编号查询员工姓名 带返回的参数
CREATE OR REPLACE PROCEDURE findEmp(empnoIn emp.empno%TYPE, enameOut OUT emp.ename%TYPE) IS
BEGIN
SELECT ename INTO enameOut FROM emp WHERE empno = empnoIn; -- no_data_found
EXCEPTION
WHEN no_data_found THEN //出现这种异常返回null
enameOut := NULL;
-- others 表示所有类型异常
END;

//定义数组

类型名称 是数组类型 数组中的元素类型
CREATE OR REPLACE TYPE myArray IS TABLE OF NUMBER(4);

CREATE OR REPLACE PROCEDURE deleteEmps(empnos myArray) IS
BEGIN

//for循环
FOR i IN empnos.FIRST .. empnos.LAST LOOP
DELETE FROM emp WHERE empno = empnos(i);
END LOOP;
COMMIT;
EXCEPTION //出现异常
WHEN OTHERS THEN ROLLBACK;
END;

//集合操作

list.count 返回集合大小
list.delete 删除集合所有元素
list.delete(3) 删除下标为3的元素
ist.delete(0, 3) 删除下标从0到3的元素
list.first 取得最小的下标
i := list.next(i) 取得下一个下标

转载于:https://www.cnblogs.com/huy360/p/4562438.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值