drop table if exists

Category: SQL and PL/SQL 9 years ago
Buen día.

En mysql existe el comando drop table if exists, cuál sería el equivalente de esa instrucción en Oracle 10G?


Saludos y Gracias
Like it on Facebook, +1 on Google, Tweet it or share this topic on other bookmarking websites.
  • Re: drop table if exists

    by » 9 years ago


    Buenos días,
    Me parece que en Oracle no existe tal cual un "IF EXISTS", como lo hay en SQL Server. Toma el siguiente ejemplo, para hacer esto:


    DECLARE
    tab_var NUMBER;
    BEGIN
    select count(*)
    into tab_var
    from all_tables
    where table_name = 'MY_TABLE' and OWNER='DBAEsquema';

    if tab_var > 0 THEN
    execute immediate 'drop table DBAEsquema.MY_TABLE';
    end if;
    END;
    /


    Un saludo,
    Carlos Isaac Contreras.
    DBASupport.

    DBASupport Team

  • Re: drop table if exists

    by » 9 years ago


    Estoy de acuerdo con Carlos, así es como generalmente se hace.

  • Re: drop table if exists

    by » 9 years ago


    Gracias CContreras. :)

  • Re: drop table if exists

    by » 9 years ago


    Hola el borrado que me explican, aplica para también para tablas temporales creadas con create global temporary table? lo intenté para una, y en select count(*) me arroja cero.

    Saludos y Gracias

  • Re: drop table if exists

    by » 9 years ago


    Hola.

    En este caso, busca en la vista del diccionario de datos "DBA_OBJECTS" (where OBJECT_NAME='TU_TABLA_TEMPORAL' and TEMPORARY='Y'), añadiendo el OWNER en caso que aplique.

    Un saludo.
    Carlos Isaac Contreras.

    DBASupport Team

You do not have permissions to reply to this topic.
Powered by CjForum