안녕하세요
아래 쿼리로 함수를 작성할려고하는데
PLS-00103: 심볼 "RETURN"를 만났습니다 다음 중 하나가 기대될 때: then and
or
오류가 나옵니다 .
무슨 이유인지 알고싶습니다. 감사합니다
CREATE OR REPLACE FUNCTION GET_REGSSD (REGNO IN VARCHAR2)
RETURN VARCHAR2
IS
V_NO VARCHAR(500) := '';
BEGIN
V_NO := REGNO;
IF V_NO IS NULL
RETURN V_NO ='*******00*';
END IF;
IF V_NO IS NOT NULL
SELECT REPLACE(WMSYS.WM_CONCAT('*******'||SUBSTR(REG_SSD,-3,2)||'*'),',''') AS V_NO FROM (
SELECT lv
, REGEXP_SUBSTR(REPLACE(V_NO,'-',''), '[^;]+', 1,LV) AS REG_SSD
FROM DUAL
, (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 99)
WHERE lv <= LENGTH(V_NO) - LENGTH(REPLACE(V_NO, ';')) + 1
);
RETURN V_NO;
END IF;
END;