oracle 的一些处理
1.oracle 自定义异常
V_EXCEPTION EXCEPTION; 定义异常变量
PRAGMA EXCEPTION_INIT(V_EXCEPTION, -20001); 绑定异常
RAISE_APPLICATION_ERROR(-20001, 'Employees must at least eighteen years of age.'); 抛出异常
---处理异常信息
exception when V_EXCEPTION THEN
--处理逻辑
when others then
--处理逻辑
end;
2.oracle 动态游标
TYPE I_CURSO_TYPE IS REF CURSOR; --动态游标类型
OPEN V_CURSOR FOR P_SQL;
LOOP
FETCH V_CURSOR INTO V_POLNO,V_CERTNO,V_ACCOUNT_TYPE,V_ACCOUNT_CODE,V_TX_AMOUNT,V_TX_DATE;
EXIT WHEN V_CURSOR%NOTFOUND;
--处理逻辑
END LOOP;
CLOSE V_CURSOR;
3.oracle 类似数组的东西
TYPE MONTH_AMOUNT_TYPE IS RECORD(year_month varchar(10), amount NUMBER);--月份与保单管理费对应关系
TYPE MONTH_AMOUNT_TABLE_TYPE IS TABLE OF MONTH_AMOUNT_TYPE;--相当于月份与管理费对应关系数值
--使用
V_TABLE:=MONTH_AMOUNT_TABLE_TYPE();
V_TABLE.EXTEND;
V_PARAM_ELE.year_month:=P_YEAR_MONTH;
V_PARAM_ELE.amount:=0;
V_TABLE(1):=V_PARAM_ELE;
--循环
for i in 1..P_MONTH_AMOUNT_TABLE.count loop
V_PARAM_ELE:=P_MONTH_AMOUNT_TABLE(i);
end loop;