Sie können DDL-Anweisungen nicht direkt aus einem PL/SQL-Block ausführen – Sie müssen stattdessen EXECUTE IMMEDIATE verwenden:
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;