Skip site navigation (1) Skip section navigation (2)

consulta de validacion de inexistencia de campos

From: "Marcos Saldivar" <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com>
To: "List Postgresql" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: consulta de validacion de inexistencia de campos
Date: 2008-03-15 17:47:20
Message-ID: 1c4d91ab0803151047s27c3c864n9e099738ee8d25f3@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Estimad@ de la lista en esta oprtunidad escribo mas por opiniones que
un problema, ya que tengo el siguiente caso(tipico):

Para una tabla empleados tengo los campos, rut, username y
nom_empleado definidos como unicos y not null menos el username que si
puede ser null ya que un empleado quisas no sea necesario que ingrese
al sistema que desarrollo. pues bien trabajo en java(y obvió que con
postgresql 8.3) y al momento de ingresar un nuevo usuario quiero
validar la inexistencia de los campos que mencione(podría capturar un
exeception pero creo que no es muy elegante llenar mi código de try
catch) pero como ya saben la flojera puede mas el hacer una consulta
por cada campo no me gusto, así que me puse a buscar una consulta
donde pudiera matar 3 pajaros de un tiro y aunque al principio buscaba
una consulta que me entregara algo como:

  rut  | nombre | username
 -----+--------+----------
 si   | no     | si
(1 fila)

pero bien mis habilidades no me permitió llegar a esto, si no que algo
similar a hacer 3 consultas en una, pero con union y evitar tener que
enviar tres consultas por separado, osea mi solucion quedo asi:

select rut as existe from vista_empleados where rut = '16560721-k'
union select nombre from vista_empleados where nombre = 'vida guerra'
union select username from vista_empleados where username = 'conexion';

   existe
-------------
 16560721-k
  conexion
 vida guerra
(3 filas)

Ya con esta consulta puedo saber cuales existen y cuales no pero no se
si sera lo mejor y practico ya que como misioné mi búsqueda partió en
algo muy distinto(un resultado del tipo, si,no,si) y por eso apelo a
sus experiencias para buscar una mejor solucion o simplemente
compartir la mia...

Saludos a todos.-

ps: intente usar intersect, pero al final llegue al mismo resultado que este....

Responses

pgsql-es-ayuda by date

Next:From: Arniel Serrano HernandezDate: 2008-03-15 18:16:58
Subject: RE: Duda con herencia
Previous:From: Gunnar WolfDate: 2008-03-15 17:12:21
Subject: Re: Postgresql 8.3 y Linux

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group