Ausdruck evaluieren in PL/SQL

DECLARE
v1 number;
v2 number;
v_operator varchar2(2char);

FUNCTION evaluate_expression(p_expression VARCHAR2) RETURN BOOLEAN IS
  v_result BOOLEAN;
BEGIN
  EXECUTE IMMEDIATE 'BEGIN :result := ' || p_expression || '; END;' USING OUT v_result;
  RETURN v_result;
EXCEPTION
  WHEN OTHERS THEN
    RETURN FALSE; -- Falls ein Fehler auftritt, wird der Ausdruck als falsch betrachtet
END;
begin
v1 := 2;
v2 := 1;
v_operator := '<';
if evaluate_expression(v1||v_operator||v2) then
dbms_output.put_line('Das ist richtig');
else
dbms_output.put_line('Das ist falsch');
end if;
end;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert