Re: " insertar ruts vacios o con datos"

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

In response to

Browse pgsql-es-ayuda by date

  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"