Amigos,  Tenho o seguinte código:  Procedure PartitionOperation(vTabela in varchar2, vTipo in varchar2, vMes in varchar2, vAno in varchar2) is /* Variáveis */ v_com_in         VARCHAR2(150); v_com_fi     varchar2(150);  Begin    v_com_in := 'alter table '|| vTabela;   if vTipo = 'ADD' then     v_com_fi := v_com_in || ' add partition P_' || to_char(vAno)|| '_' || lpad(to_char(vMes),2,0) || ' VALUES LESS THAN (' || to_char(add_months(to_date(lpad(to_char(vMes),2,0) || vAno,'MMYYYY'),1),'YYYY') || ',' || to_char(add_months(to_date(lpad(to_char(vMes),2,0) || vAno,'MMYYYY'),1),'MM') || ') UPDATE INDEXES';   elsif vTipo = 'DROP' then     v_com_fi := v_com_in || ' Drop PARTITION P_' || vAno  || '_' || lpad(vMes,2,0) || ' UPDATE INDEXES';   elsif vTipo = 'TRUNCATE' then     v_com_fi := v_com_in || ' Truncate PARTITION P_' || vAno  || '_' || lpad(vMes,2,0) || ' UPDATE INDEXES';   end if;    EXECUTE IMMEDIATE  v_com_fi;  Porem está me retornando o erro (ORA-02149 - Partição não encontrado para o objeto). Esse elseif em destaque está tentando dropar um cara que não existe, gostaria de saber como faço ao invés de usar o execute immediate eu coloque uma condição caso não exista não faça o drop?  Desde já agradeço.