- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
PROCEDURE login_attr(a_id IN CHAR, a_pw IN VARCHAR2, v_ret IN OUT VARCHAR2)
IS
v_count INTEGER;
BEGIN
v_count := 0;
SELECT NVL (COUNT (attrib_desc), 0)
INTO v_count
FROM tab_attr a,
tab_users b
WHERE a.msc_cd = b.user_dept
AND a.attr_cd = 'CD'
AND lattr_cd = 'ABCD'
AND UPPER (user_no) = UPPER (a_id)
AND UPPER (user_pw) = UPPER (a_pw);
IF v_count > 0 THEN
SELECT attrib_desc || '@' || user_lang || '@' || user_autoimg ||
'@' || user_imgtime || '@' || user_loc || '@' ||
user_dept
INTO v_ret
FROM tab_attr a,
tab_users b
WHERE a.msc_cd = b.user_dept
AND a.attr_cd = 'CD'
AND lattr_cd = 'ABCD'
AND UPPER (user_no) = UPPER (a_id)
AND UPPER (user_pw) = UPPER (a_pw);
ELSE
v_ret := ' ';
END IF;
END;
Нам нужно больше селектов.
P.S. почему в предпросмотре язык Java, хотя выбран SQL?
У Вас же PL/SQL оракловый, вот оно и намекает, что пора перебрасывать всю бизнес логику на джаву.
Я не знал. Отстаю от жизни.
Зависит от уровня изоляции. В общем случае - не обязан.
это ж когда каунт нулл вернуть может?
В Oracle PL\SQL для этого случая (возвращаясь к тексту ГК) заворачивают SQL в exception, с catch no_data_found, как-то так...
Обжегшись на sum'е дует на count ;)
Хотя, конечно, я мог что-то и перепутать, дело давнее.
ref cursor ненужно?
Очень весело будет, когда понадобится вернуть email юзера.
Хотя мне кажется, что автор замутил бы для этого отдельную процедуру...