Puede darse el caso que en algún momento necesitemos obtener las columnas de una tabla.
En Oracle podemos hacerlo mediante la sentencia describe

DESCRIBE NOMBRE_TABLA

cuyo resultado sería, para una tabla ejemplo:

DESCRIBE  NOMBRE_TABLA
Nombre                 Nulo      Tipo          
--------------------- -------- ------------- 
ID                    NOT NULL    NUMBER(10)    
DESCRIPTION           NOT NULL    VARCHAR2(255) 
FECHA_ALTA                        TIMESTAMP(6)  
VALUE                 NOT NULL    NUMBER(1)     

pero ¿y si queremos comprobar si existe una columna y realizar una operación u otra si existe o no?

Podemos utilizar la sentencia SQL, que consulta la tabla USER_TAB_COLUMNS que según la documentación de oracle , describe las tablas, vistas del usuario.

Por tanto, filtramos por nombre de tabla y columna:

select TABLE_NAME, COLUMN_NAME from USER_TAB_COLUMNS where TABLE_NAME = 'NOMBRE_TABLA' AND COLUMN_NAME = 'DESCRIPTION'

Cuyo resultado será vacío si no existe y devolverá un resultado en caso que sí:

TABLE_NAME            COLUMN_NAME                  
--------------------- ------------- 
NOMBRE_TABLA          DESCRIPTION
Copyright © 2016 runando