Vous ne pouvez pas exécuter directement des instructions DDL à partir d'un bloc PL/SQL - vous devrez utiliser EXECUTE IMMEDIATE à la place :
declare
i_cnt number;
begin
select count(1) into i_cnt
from dba_tables where table_name=upper('foo') and owner=upper('bar');
if i_cnt > 0 then
execute immediate 'drop table foo';
end if;
end;