sql >> Base de Datos >  >> RDS >> Oracle

Eliminar tabla si existe

No puede ejecutar declaraciones DDL directamente desde un bloque PL/SQL; tendrá que usar EXECUTE IMMEDIATE en su lugar:

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;