El comando DESCRIBE no resulta desconocido para aquellos que alguna vez utilizaron SqlPlus. El comando DESCRIBE nos permite obtener la definición de una tabla, vista, sinónimo, función o procedimiento. Si bien es un comando muy simple y popular, existen algunos secretos que muchos desconocen: es posible cambiar el comportamiento del comando DESCRIBE a partir de una serie de configuraciones. Veamos... Para conocer qué comportamientos podemos modificar podemos ejecutar el comando SHOW DESCRIBE : SQL> show describe describe DEPTH 2 LINENUM OFF INDENT ON Vemos que es posible cambiar tres configuraciones: 1) DEPTH 2) LINENUM 3) INDENT Comencemos probando la más simple de todas: LINENUM SQL> desc equipos Name Null? Type ------------------- -------- ---------------------------- CODIGO NOT NULL NUMBER NOMBRE NOT NULL VARCHAR2(30) TIPO VARCHAR2(15) SQL> set describe linenum on SQL> desc equipos Name Null? Type ------------------ -------- ---------------------------- 1 CODIGO NOT NULL NUMBER 2 NOMBRE NOT NULL VARCHAR2(30) 3 TIPO VARCHAR2(15) SQL> set describe linenum off DEPTH e INDENT son de mucha utilidad cuando trabajamos con tipos de objeto (Object Types). Para ejemplificar su uso, he creado dos tipos: PERSONA_TYPE y DOMICILIO_TYPE: SQL> show describe describe DEPTH 1 LINENUM OFF INDENT ON SQL> desc persona_type Name Null? Type ------------------------ -------- --------------------------- CODIGO NUMBER NOMBRE VARCHAR2(20) TELEFONO VARCHAR2(20) DOMICILIO DOMICILIO_TYPE SQL> desc domicilio_type Name Null? Type ----------------------- -------- ---------------------------- CALLE VARCHAR2(20) CIUDAD VARCHAR2(20) PROVINCIA VARCHAR2(20) CODIGO_POSTAL VARCHAR2(10) SQL> Veamos cómo los comandos DEPTH e INDENT facilitan la visualización de estas estructuras con tan solo cambiar una configuración: SQL> set describe depth 2 SQL> desc persona_type Name Null? Type -------------------------- -------- ---------------------------- CODIGO NUMBER NOMBRE VARCHAR2(20) TELEFONO VARCHAR2(20) DOMICILIO DOMICILIO_TYPE CALLE VARCHAR2(20) CIUDAD VARCHAR2(20) PROVINCIA VARCHAR2(20) CODIGO_POSTAL VARCHAR2(10) SQL> Por suerte, el valor por defecto de INDENT es ON. Si lo pongo en OFF, la visualización se hace un poco más complicada: SQL> set describe indent off SQL> desc persona_type Name Null? Type --------------------------- -------- ---------------------------- CODIGO NUMBER NOMBRE VARCHAR2(20) TELEFONO VARCHAR2(20) DOMICILIO DOMICILIO_TYPE CALLE VARCHAR2(20) CIUDAD VARCHAR2(20) PROVINCIA VARCHAR2(20) CODIGO_POSTAL VARCHAR2(10) SQL> Nos vemos!
↧