The following SQL statement is parametrized with two bind variables, but only one bind variable is bound. Hence, Oracle throws ORA-01008: not all variables bound.
declare
cnt number;
begin
execute immediate
'select
count(*)
from
dual
where
1 = :a and
2 = :b'
into cnt
using 1;
end;
/
In SQL*Plus, this error can also be forced like so
SQL> set define off
SQL> var res varchar2
SQL> exec execute immediate 'select dummy from dual where 1 = &num' into :res;