Buscar

Gregorio J. Bolívar B.

Blog del conocimiento informático, de ayuda a los usuarios que necesiten de tips tecnológicos. . . . Perfil=> https://www.linkedin.com/in/gregorio-bolivar

Categoría

Base de Datos

Software Universal SQL Cliente Free Multi-Platforma – openSource

Les traigo a conocer para los que no la conocía a DBeaver openSource que te permite administrar diferentes bases de datos en en al momento haciendo diferentes culsultas y puedes integrar diferentes motores de bases de datos es un cliente global, solo agregas las conexion nueva y listo ya te conectas, ademas puedes ver las entidades hacer consulta con su tipado de autocompletar y ver el diagrama ya ordenado sin necesidad de perder tiempo en eso ya te la ordena.

No es que le de publicidad si no por todo lo que puedes hacer y gratis, ademas el tiempo de ejecución es super rapido mayor que el usaba anterior mente el conocido por todos MYSQL Workbench, tienes todo en usa sola herramienta multiple y administra tus base de datos Mysql, Postgresql, Redis, y mas.

http://dbeaver.jkiss.org/

http://dbeaver.jkiss.org/docs/

Universal SQL Client Free multi-platform
Universal SQL Client Free multi-platform database tool for developers, SQL programmers, database administrators and analysts. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, Teradata, MongoDB, Cassandra, Redis, etc
Pantalla completa del Universal SQL Client Free multi-platform

Ver inventario de trigger de tu base de datos en mysql

Buenas espero que se encuentren bien luego de pasar tiempo sin escribir aca le dejo un sql para saber los inventarios de trigger que tienen en una tabla debido que esto pasa a diario tenemos sistemas y la gente cuendo llega nueva a tomar el trabajo no sabe que tiene por dentro en la base de datos, por eso es importante saber y tener a la mano un inventario de los trigger que tenemos en todo nuestro servidor en mysql

# SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION, EVENT_OBJECT_TABLE, ACTION_STATEMENT, ACTION_TIMING, DEFINER  FROM information_schema.TRIGGERS

Detalle de cada campo que debe traer.

TRIGGER_SCHEMA = Base de datos que esta ejecutando.
TRIGGER_NAME = Nombre del Trigger.
EVENT_MANIPULATION = acción del evento de la opeacion Actualizar, insertar o eliminar.
EVENT_OBJECT_TABLE = En la entidad que efectua o leventa el disparador.
ACTION_STATEMENT = El contenido del Trigger.
ACTION_TIMING = acción del evento si es ante o despues.
DEFINER = Cual usuario y host esta ejecutando el trigger.

Conexión a internet desde TP-3420 + 3G de Movilnet E173

Buenas espero que se encuentren bien le traigo esta solución que me quito un par de horas en lograr la conexión a internet mediante el modem de internet de movilnet desde el equipo TP-3420, en este caso funciono para movilnet para las demas operadora deben es revisar es el APN de la operadora aca le dejo la configuración que funciono exactamente.

 

Configuración con el modem 3G de movilnet
Configuración con el modem 3G de movilnet

 

Extraer datos de una tabla recursiva en postgresql, es muy útil.

Este es necesario cuando necesitamos montar una tabla que no sabemos hasta cuantos niveles puede tener, le voy  dejar una función para que estraigan los datos, en ocaciones cuando la tabla tiene una descripción muy extensa puede dar un error similar al siguiente: ERROR:  el valor es demasiado largo para el tipo character varying(16)
CONTEXTO:  PL/pgSQL function “aranceles” line 10 at sentencia SQL

Pero ya con esta función esta solventado el problema.

Primero vamos a tener una tabla

CREATE TABLE recursividad
(
  id bigint NOT NULL,
  codigo character varying(16),
  posession character varying(2),
  titulo character varying(2),
  sub_titulo character varying(2),
  identificador character varying(10),
  detalles text,
  detalles2 text,
  cod_recursividad bigint,
  CONSTRAINT recursividad_pkey PRIMARY KEY (id )
)

Debido que si necesitamos solo algunos datos es importante crear una definición del tipo del dato para que no de error y solo utilizar los campos necesario.

CREATE TYPE recursividadtype as (id bigint, detalle text, cod_recursividad bigint );

Creamos la función que ejecutara y buscara la recursividad

CREATE OR REPLACE FUNCTION aranceles(id_tabla integer)
RETURNS text AS
$BODY$
DECLARE
    idente INTEGER :=id_tabla;
    nombre TEXT :=””;
    nombre2 TEXT :=””;
    row arancelestype%ROWTYPE;
BEGIN
    SELECT id, descripcion, cod_recursividad INTO row FROM recursividad WHERE id = idente;
    nombre:= row.detalles;
    idente:= row.cod_recursividad;
    LOOP
        IF(idente IS NULL) THEN
            EXIT;
        ELSE
            SELECT id, detalles, cod_recursividad INTO row FROM recursividad WHERE id = idente;
            nombre2:= row.detalles;
            nombre:= nombre2 ||’\’|| nombre;
            idente:= row.cod_recursividad;
        END IF;
        
    END LOOP;
    RETURN nombre;
END;
$BODY$
LANGUAGE ‘plpgsql’;

Ya puedes insertar los datos en la base de datosrelacionadocon la recursividad

CREATE TABLE recursividad
(
  id bigint NOT NULL,
  codigo character varying(16),
  posession character varying(2),
  titulo character varying(2),
  sub_titulo character varying(2),
  identificador character varying(10),
  detalles text,
  detalles2 text,
  cod_recursividad bigint,
  CONSTRAINT recursividad_pkey PRIMARY KEY (id )
)

INSERT INTO recursividad VALUES (1,'12345567', '12','34','55,'67','Cat6','DESCRIPCION 1',NUL);
INSERT INTO recursividad VALUES (2,'12345567', '12','34','55,'67','Cat6','DESCRIPCION 2',1);
INSERT INTO recursividad VALUES (3,'12345567', '12','34','55,'67','Cat6','DESCRIPCION 3',2);
INSERT INTO recursividad VALUES (4,'12345567', '12','34','55,'67','Cat6','DESCRIPCION 4',3);
INSERT INTO recursividad VALUES (5,'12345567', '12','34','55,'67','Cat6','DESCRIPCION 5',4);

luego ejecuta tu query para ver el detalle

select aranceles(5)

Tendra un resultado de la siguiente manera:

DESCRIPCION 1 \ DESCRIPCION 2 \ DESCRIPCION 3 \ DESCRIPCION 4 \ DESCRIPCION 5

Agregar Restrinciones de PK a una entidad en PostgreSql

En ocaciones cuando necesitamos agregar unas restrinciones a una entidad en nuestra base de datos, este caso aplica cuando tenemos una que no tiene ninguna PK creada pero para este caso es necesario crearla porque hay ausencia de ella, debemos hacer lo siguiente:

ALTER TABLE tbldiex ADD CONSTRAINT “unicaPK” PRIMARY KEY (strnacionalidad, intcedula);

 

Espero que sea de utilidad para ustedes, ya que para mi fué una solución.

Crea un blog o un sitio web gratuitos con WordPress.com.

Subir ↑