title: Why can't I use Boolean data type with Execute Immediate?
body: <pre><code>DECLARE dyn_stmt VARCHAR2(200);
  b1 boolean;
  FUNCTION f(x INTEGER) RETURN boolean AS
  BEGIN
  RETURN FALSE;
  END f;
  BEGIN
  dyn_stmt := 'BEGIN :b := f(5); END;';
  EXECUTE IMMEDIATE dyn_stmt USING OUT b1; --line 9
  b1:=f(5);   --line 10
  END;
  </code></pre>
  
  <p>Commenting line 10 throws error whereas Commenting line 9 works fine. Why ? According to error "expressions have to be of SQL types" and AFAIK PL/SQL supports boolean data type. Then, what's the problem here ?  </p>