From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Nicolas Sorich <nsorich(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: " insertar ruts vacios o con datos" |
Date: | 2007-02-20 15:27:01 |
Message-ID: | 20070220152701.GH4217@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Nicolas Sorich escribió:
> Hola Lista:
>
> Necesito insertar datos en una tabla que contiene rut de clientes, al
> reservar un producto, eso lo hace sin problemas. pero
> tengo unos usuarios que son ingresados sin rut, solo nombre apellido paterno
> y materno, utilizo la siguiente tecnica ya que es obligatorio que al
> reservar el producto tenga el rut del cliente:
>
> - ingreso a un cliente con un rut tipo 3 digitos (no de 8 o 10 digitos) en
> el campo de rut y otro que idenfitica que es temporal (cl_sin_rut ) que
> puede contener valores nullos, obvio porque al ingresarse rut correctos y
> con digitos adecuados, ese campo va nulo (es un varchar).
Deja el RUT como campo nulable. Cuando no sepas el RUT, queda nulo y
punto. Si quieres ver a quienes no se les ha ingresado el rut, haces
"where rut is null".
Ojo, el RUT es un integer. Si quieres almacenar el DV (digito
verificador), agregalo como campo separado (un char, check dv ~ [0-9k]).
Ambos deben ser nulos o no nulos simultaneamente (agrega un CHECK para
verificar esto, y otro para verificar que el DV es correcto). Otra
gente plantea que no debes almacenar el DV en la BD; cosa de gustos.
Pero no almacenes el RUT en un campo varchar con DV porque es mas
dificil de verificar.
Si "es obligatorio ingresar el RUT" entonces no puedes tener clientes
sin RUT. O bien tienes RUT para todos (cumples la regla) o bien no la
cumples; pero meter numeros ficticios es peor que romper la regla y es
una practica tan idiota que me ha hecho desear poder introducir un trozo
de plomo en el desarrollador en mas de una oportunidad.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-02-20 15:30:28 | Re: Desencriptar Registros y pasar a otra |
Previous Message | Nicolas Sorich | 2007-02-20 15:26:23 | Re: " insertar ruts vacios o con datos" |