|
|
|
|
|
|
e******u 发帖数: 211 | 1 The function occasionally doesn't have the return value. Anyone knows what
might be the issue?
FUNCTION chk_and_gen_ic (cnt IN NUMBER)
RETURN VARCHAR2
IS
n_invitation_code VARCHAR2 (20);
t_ic_chk NUMBER;
BEGIN
SELECT DBMS_RANDOM.STRING ('X', 10)
INTO n_invitation_code
FROM DUAL;
select count(*) into t_ic_chk from invitation_code where
invitation_code = n_invitation_code and rownum = 1;
IF t_ic_chk = 1
THEN
n_invitation_code := chk_and_gen_ic(cnt);
ELSE
IF t_ic_chk = 0
THEN
RETURN n_invitation_code;
END IF;
END IF;
END chk_and_gen_ic; | n****f 发帖数: 905 | 2 I am not sure I understand your data table.
What if the t_ic_chk = 3 ?
what your function will do then?
IF t_ic_chk = 1
THEN
n_invitation_code := chk_and_gen_ic(cnt);
ELSE
IF t_ic_chk = 0
THEN
RETURN n_invitation_code;
ELSE
***What you will do here ?***
END IF;
END IF; | B*****g 发帖数: 34098 | 3 SELECT...
SELECT...
IF t_ic_chk = 1 THEN
n_invitation_code := chk_and_gen_ic(cnt);
END IF;
RETURN n_invitation_code;
【在 e******u 的大作中提到】 : The function occasionally doesn't have the return value. Anyone knows what : might be the issue? : FUNCTION chk_and_gen_ic (cnt IN NUMBER) : RETURN VARCHAR2 : IS : n_invitation_code VARCHAR2 (20); : t_ic_chk NUMBER; : BEGIN : SELECT DBMS_RANDOM.STRING ('X', 10) : INTO n_invitation_code
|
|
|
|
|
|