Re: consulta de validacion de inexistencia de campos

From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Marcos Saldivar <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com>, List Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: consulta de validacion de inexistencia de campos
Date: 2008-03-16 00:22:21
Message-ID: 437535.6605.qm@web63707.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


--- Marcos Saldivar
<baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> escribió:

> 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)
En primer lugar esto no tiene que ser obvio.

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
Bueno concentrate en una disciplina que te permita
desarrollar la perseverancia, la flojera no puede ser
una escusa para hacer bien las cosas.

> 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)
>
Bien despues de un tiron de oreja, toma la solucion,
que seria mejor que la implementaras con una funcion
con sql a la que le pases los parametros.
Si queres que te ayude en eso pasame la tabla, la
vista en un script y te armo un ejemplo

select case when rut=$1 then 'si' else 'no' end as
r_rut,case when nombre=$2 then 'si' else 'no' end as
r_nombre,case when username=$3 then 'si' else 'no' end
as r_username from vista_empleado
where rut=$1 or nombre=$2 or username=$3

Ojo podria devolver mas de un registro.
Por que donde halla uno que tenga el rut y otro el
nombre y otro el usuario, ahi por lo menos tenes 3.

Buena suerte, aunque me parece poco eficiente lo que
propnes.

Atte.
Gabriel Colina

____________________________________________________________________________________
¡Capacidad ilimitada de almacenamiento en tu correo!
No te preocupes más por el espacio de tu cuenta con Correo Yahoo!:
http://correo.espanol.yahoo.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcos Saldivar 2008-03-16 01:19:24 Re: consulta de validacion de inexistencia de campos
Previous Message Gabriel Hermes Colina Zambra 2008-03-16 00:09:56 RE: Duda con herencia