jueves, 13 de enero de 2022

info+ - Un interesante truco de SQL*Developer y SQLCl


Hace poco estaba probando una forma rápida de obtener información algo mas detallada que lo que brinda el comando DESC en SQL*Plus o SQL Developer y encontré un articulo de un blog donde describe el uso del comando info+

Este sencillo comando está disponible en SQL Developer y SQLcl, y muestra mas información incluyendo ademas de columnas, información de índices y algunos detalles respecto a los datos existentes.

 Probemos creando las siguiente tablas y cargado algo de datos en ellas:

CREATE TABLE Clientes(
    ID_Cliente NUMBER GENERATED BY DEFAULT AS IDENTITY,
    Apellido VARCHAR2(50) NOT NULL,
    Nombre VARCHAR2(50) NOT NULL,
    CONSTRAINT PK_Clientes PRIMARY KEY(ID_Cliente)
);
--
CREATE TABLE Facturas(
    ID_Factura NUMBER GENERATED BY DEFAULT AS IDENTITY,
    Fecha_Factura DATE,
    Nro_Factura NUMBER(10),
    ID_Cliente NUMBER,
    Monto NUMBER (12,2),
    CONSTRAINT PK_Facturas PRIMARY KEY (ID_Factura),
    CONSTRAINT UK_Facturas UNIQUE (Nro_Factura),
    CONSTRAINT FK_Facturas_Clientes FOREIGN KEY (ID_Cliente) REFERENCES Clientes
);
--
INSERT INTO Clientes (Apellido, Nombre) VALUES ('Ronaldo', 'Cristiano');
INSERT INTO Clientes (Apellido, Nombre) VALUES ('Messi', 'Lionel');
--
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 1, 1, 1234);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 2, 2, 2345);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 3, 1, 3456);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 4, 2, 4567);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 5, 1, 5678);
INSERT INTO Facturas (Fecha_Factura, Nro_Factura, ID_Cliente, Monto) VALUES (SYSDATE, 6, 2, 6789);
--

Luego,  vamos a analizar la tabla Facturas para obtener estadísticas básicas de la misma (usamos la antigua sintaxis ANALYZE ya que veremos solo alguna información básica)

ANALYZE TABLE Facturas COMPUTE STATISTICS;

Luego de analizar la tabla, podemos ejecutar el comando info+ para obtener una vista rápida de la misma

info+ Facturas

El resultado es el siguiente:


TABLE: FACTURAS 
	 LAST ANALYZED:2022-01-13 
	 ROWS         :6 
	 SAMPLE SIZE  :6 
	 INMEMORY     :DISABLED 
	 COMMENTS     : 

Columns 
NAME            DATA TYPE      NULL  DEFAULT                           LOW_VALUE             HIGH_VALUE            NUM_DISTINCT   HISTOGRAM  
*ID_FACTURA     NUMBER         No    "ADMIN"."ISEQ$$_123956".nextval   1                     6                     6              NONE       
 FECHA_FACTURA  DATE           Yes                                     2022.01.13.18.04.02   2022.01.13.18.04.58   5              NONE       
 NRO_FACTURA    NUMBER(10,0)   Yes                                     1                     6                     6              NONE       
 ID_CLIENTE     NUMBER         Yes                                     1                     2                     2              NONE       
 MONTO          NUMBER(12,2)   Yes                                     1234                  6789                  6              NONE       

Indexes
INDEX_NAME           UNIQUENESS    STATUS    FUNCIDX_STATUS    COLUMNS        
ADMIN.PK_FACTURAS    UNIQUE        VALID                       ID_FACTURA     
ADMIN.UK_FACTURAS    UNIQUE        VALID                       NRO_FACTURA

Como verán la información es mas completa que usando el comando DESC:

Name          Null?    Type         
------------- -------- ------------ 
ID_FACTURA    NOT NULL NUMBER       
FECHA_FACTURA          DATE         
NRO_FACTURA            NUMBER(10)   
ID_CLIENTE             NUMBER       
MONTO                  NUMBER(12,2) 

Espero les resulte útil!!!

No hay comentarios.:

Publicar un comentario