Evitar nombre duplicado

18/02/2005 - 15:26 por Jose | Informe spam
Como puedo evitar (que opciones tengo) para que un usuario no me vaya a
registrar dos veces un cliente con el mismo nombre ?
La tabla de clientes tiene entre otros los campos cliente char(8) y nombre
char(60). La PK es (cliente)
Jose Alberto

Preguntas similare

Leer las respuestas

#1 Salvador Ramos
18/02/2005 - 15:44 | Informe spam
Para conseguir lo que indicas debes añadirle una restricción UNIQUE al campo
nombre (esto hará que se creee un índice único por ese campo).

Pero eso te ocasiona el problema de que si realmente tuvieses dos clientes
con el mismo nombre, y no creas que esto es muy extraño, no podrías tenerlos
dados de alta en tu sistema.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"Jose" escribió en el mensaje
news:
Como puedo evitar (que opciones tengo) para que un usuario no me vaya a
registrar dos veces un cliente con el mismo nombre ?
La tabla de clientes tiene entre otros los campos cliente char(8) y nombre
char(60). La PK es (cliente)
Jose Alberto


Respuesta Responder a este mensaje
#2 Alejandro Mesa
18/02/2005 - 15:49 | Informe spam
Jose,

La clave primaria evita que se inserten valores duplicados en ella, en este
caso "cliente". Para evitar que el mismo nombre se registre mas de una vez
(ojo, pudiera darse el caso de clientes con el mismo nombre) puedes usar un
constraint UNIQUE en la columna o crear un indice unique basado en la misma
columna (microsoft recomienda hacerlo atraves de un constraint, esto puedes
leerlos en los libros en linea en la seccion "Constraints").

Ejemplo:

create table t(
col_id int not null primary key,
fullname varchar(50) not null,
constraint u_fullname unique nonclustered (fullname)
)
go


AMB


"Jose" wrote:

Como puedo evitar (que opciones tengo) para que un usuario no me vaya a
registrar dos veces un cliente con el mismo nombre ?
La tabla de clientes tiene entre otros los campos cliente char(8) y nombre
char(60). La PK es (cliente)
Jose Alberto



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida