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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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