[PL/SQL] porblem z IF IN

0

Witam!

Mam takie ptanie odnosnie sqla:


CREATE OR REPLACE PROCEDURE T1 (var varchar2)
IS
BEGIN
IF var NOT IN(SELECT column FROM table) THEN -- column is varchar2
  RAISE_APPLICATION_ERROR(-20205,'foo');
END IF;
END T1;

Dlaczego to nie dziala? dokladnie chodzi mi o (SELECT column FROM table), gdy to zamienie na ('val1',val2') to wedy jest wszystko ok? Jak uzyskac podobny efekt?

0
SELECT count(rowid) INTO x FROM table WHERE column = :var;
IF x = 0 THEN
  RAISE_APPLICATION_ERROR(-20205,'foo');
END IF;

tamto jest bardzo nieoptymalne

1 użytkowników online, w tym zalogowanych: 0, gości: 1