【ORACLE】常用脚本
时间:2021-07-01 10:21:17
帮助过:22人阅读
RETURN VARCHAR2 IS
RESULT VARCHAR2(1024);
BEGIN
MERGE_STR := ‘‘;
FOR V_P IN C_PRODUCTINFO LOOP
MERGE_STR := MERGE_STR || V_P.PRODUCTNAMESTR || ‘[R:‘ || V_P.MONTHFEE || ‘]. ‘;
END LOOP;
RETURN RESULT;
END;
/
--函数可以有默认值
CREATE OR REPLACE FUNCTION CountryNumber(n_max number default 10000,n_min number default 10)
RETURN VARCHAR2 IS
v_resultvalue vacharr2(50);
BEGIN
RETURN v_resultvalue;
END;
--异常处理例子
DECLARE
V_NUM NUMBER(2) := 10;
V_ZERO NUMBER(2) := 0;
V_RESULT NUMBER(5);
BEGIN
V_RESULT := V_NUM / V_ZERO;
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE(‘DIVIDE ZERO‘);
END;
异常说明:
DUP_VAL_INDEX:违反唯一性
LOGIN_DENIED: 登陆失败,用户名密码错误
NO_DATA_FOUND:没有发现数据存在
TOO_MANY_ROWS:数据行太多,
ZERO_DIVIDE:除数为0错误
VALUE_ERROR: 算法或转换错误
CASE_NOT_FOUND: 在case语句中发现不匹配的when语句
DECLARE
E_OVERNUMBER EXCEPTION;
BEGIN
IF V_MAX < V_NUM THEN
-- deal....
RAISE E_OVERNUMBER;
END IF EXCEPTION
WHEN E_OVERNUMBER THEN DBMS_OUTPUT.PUT_LINE("ERR MSG");
END;
【ORACLE】常用脚本
标签: