oracle 创建函数例子

前端之家收集整理的这篇文章主要介绍了oracle 创建函数例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CREATE OR REPLACE FUNCTION FUN_GET_YJJB(V_score IN NUMBER) RETURN VARCHAR2 IS
  /*********************************************************
  名称 FUN_GET_YJJB
  功能描述:获取预警级别

  修改记录
  版本号       编辑时间       编辑人    修改描述
  1.0.0       2016-11-22      aoliu    创建函数

  *********************************************************/
  O_YJJB    VARCHAR2(1);
  O_4_score NUMBER;
  O_3_score NUMBER;
  O_2_score NUMBER;
  O_1_score NUMBER;
  O_4_COLO  VARCHAR2(1);
  O_3_COLO  VARCHAR2(1);
  O_2_COLO  VARCHAR2(1);
  O_1_COLO  VARCHAR2(1);
BEGIN
  SELECT score,COLOR
    INTO O_1_score,O_1_COLO
    FROM T_PVBDP_MODEL_ALERT_LEVEL
   WHERE ID = 1;
  SELECT score,COLOR
    INTO O_2_score,O_2_COLO
    FROM T_PVBDP_MODEL_ALERT_LEVEL
   WHERE ID = 2;
  SELECT score,COLOR
    INTO O_3_score,O_3_COLO
    FROM T_PVBDP_MODEL_ALERT_LEVEL
   WHERE ID = 3;
  SELECT score,COLOR
    INTO O_4_score,O_4_COLO
    FROM T_PVBDP_MODEL_ALERT_LEVEL
   WHERE ID = 4;
  SELECT CASE
           WHEN V_score >= O_4_score THEN
            O_4_COLO
           WHEN O_3_score <= V_score AND V_score < O_4_score THEN
            O_3_COLO
           WHEN O_2_score <= V_score AND V_score < O_3_score THEN
            O_2_COLO
           WHEN O_1_score <= V_score AND V_score < O_2_score THEN
            O_1_COLO
           ELSE
            '9'
         END
    INTO O_YJJB
    FROM DUAL;
    RETURN O_YJJB;
EXCEPTION
  WHEN OTHERS THEN
    RETURN '9';
END;

猜你在找的Oracle相关文章