Tengo una serie de datos que deben escribirse en SQL, ¿qué debo hacer para verificar los datos en SQL para evitar que los mismos datos se inserten en la tabla? a insertarse¿Cómo puedo evitar insertar datos duplicados en una tabla de SQL Server?
Datos de ejemplo:
David
James
John
Si el cuarto de datos es John
nuevo, quiero el sistema para omitir el registro duplicado (Juan).
hasta ahora tengo:
SqlConnection myCnn = new SqlConnection(cnn);
String _state = "Insert into CamNo1(platename, date, camID, path, filename) OUTPUT INSERTED.platename values(@msg, getdate(), @camID, @path, @filename)";
SqlCommand _Query = new SqlCommand(_state, myCnn);
_Query.Parameters.AddWithValue("@msg", msg);
_Query.Parameters.AddWithValue("@camID", camID);
_Query.Parameters.AddWithValue("@path", imageFile);
_Query.Parameters.AddWithValue("@filename", name);
try
{
myCnn.Open();
string checkname = (string)_Query.ExecuteScalar();
myCnn.Close();
getcheckname = checkname;
Console.WriteLine("OK");
}
catch (Exception)
{
}
me dieron el valor checkname cadena que se inserta el pasado, ¿qué debería hacer comprobar los datos?
Acepto que no debe usar la restricción/índice solo para tratar datos duplicados, pero es bueno saber que nunca tendrá que desinfectar los datos ya que tiene esa restricción en su lugar. Creo que le puede interesar ver la función 'MERGE' que SQL Server 2008 agregó, combina la sintaxis para su opción de' If Existe la actualización Else Insert 'y creo que lo han hecho más eficiente. http://technet.microsoft.com/en-us/library/bb510625.aspx –
Sí, definitivamente conozca y use la instrucción MERGE. Puede modificar mi respuesta para incluir un ejemplo. – Bert
Gracias por darme esa respuesta detallada, lo intento ahora :) – KayX