statement end sql oracle plsql informix

sql - end - IF Statement y no en seleccionar



return 0 sql server (2)

El Informix funciona, ¿cómo hacer esto en Oracle?

IF (uzel NOT IN (SELECT a.uzel FROM user_setup.menu a WHERE a.vetka <> a.uzel AND a.vetka IN (SELECT vetka FROM user_setup.param_menu))) THEN --; END IF;


En Oracle necesita usar un enfoque diferente:

DECLARE usel1 <specify here the data type for the usel>; BEGIN SELECT a.uzel INTO usel1 FROM user_setup.menu a WHERE a.vetka <> a.uzel AND a.usel = uzel AND a.vetka IN (SELECT vetka FROM user_setup.param_menu)) -- this means the record is found. EXCEPTION WHEN NO_DATA_FOUND THEN -- do other processing here END;


Prueba esto:

DECLARE temp NUMBER; v_uzel user_setup.menu.uzel%TYPE; BEGIN SELECT COUNT(*) INTO temp FROM dual WHERE EXISTS (SELECT A.uzel FROM user_setup.menu A WHERE A.vetka <> A.uzel AND A.uzel = v_uzel AND A.vetka IN (SELECT vetka FROM user_setup.param_menu)); IF temp < 1 THEN -- code here END IF; END;