como bien dicen por ahi, la solución es con una PK. Ahora si eres curioso y quieres hacer algo, puedes poner en un procedimiento almacenado algo como esto (conste que es solo un ejemplo)
Código:
Create Procedure SpAltaUsuario
(
@Nick As VarChar(10),
@Nombre As VarChar(50),
@Error As VarChar(20) OutPut
)
As
If Exists(Select 1 From TbUsuarios Where Nick = @Nick) Begin
--El Nick ya existe
Set @Error = 'El Nick: ' + @Nick + ' ya está ocupado'
End
Else Begin
--el Nick no existe, lo damos de alta
Insert Into TbUsuarios(Nick, Nombre)
Values(@Nick, @Nombre)
Set @Error = ''
End
OJO: para que este código sea óptimo, la tabla usuarios debe tener un indice en el campo Nick, y además este debe ser la llave de tu tabla.
en tu aplicación solo deberás validar el retorno de la variable @Error, si es <> '' entonces es un error y lo presentas en tu APP.... el manejo de error es un ejemplo, pero hay mejores formas de tratarlo... solo te muestro la mas sencilla.
Saludos!