SQL에 기록해야하는 일련의 데이터가 있는데 SQL에서 데이터를 검사하여 동일한 데이터가 테이블에 삽입되지 않도록해야합니까?중복 데이터를 SQL Server 테이블에 삽입하지 못하게하려면 어떻게해야합니까?
예 데이터가 삽입 될 :
David
James
John
4 데이터가 다시 John
경우, 나는 시스템이 중복 기록 (요)를 건너 뛰려.
지금까지 내가 가진 :
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)
{
}
내가 마지막으로 삽입 된 문자열 값 checkname, 내가 데이터를 확인합니까해야 있어요?
중복 된 데이터를 처리하기 위해 제약 조건/인덱스 만 사용해서는 안되는 데 동의하지만, 제약 조건이 있으므로 데이터를 위생적으로 처리 할 필요가 없다는 것을 알면 좋습니다. SQL Server 2008이 추가 한 MERGE 함수를 살펴 보는 것이 흥미로울 것이라고 생각합니다. If If Exists Update Else Insert의 옵션에 대한 구문을 결합했으며 더 효율적으로 만들었다 고 생각합니다. http://technet.microsoft.com/en-us/library/bb510625.aspx –
그래, MERGE 문을 확실히 알고 사용하십시오. 내 대답을 수정하여 예제를 포함 할 수 있습니다. – Bert
그런 세부 답변을 주셔서 감사합니다, 나는 지금 노력하고 있습니다 :) – KayX