2010-05-19 2 views
1

정확히 같은 데이터를 가진 SQL Server 2005 db의 테이블에 2 개의 레코드가 있습니다. 하나의 레코드를 업데이트하고 싶습니다. 어쨌든이 작업을 수행 할 수 있습니까? 불행히도이 테이블에는 ID 열이 없으며 데이터가 동일하므로 둘 다 업데이트되므로 직접 업데이트 쿼리를 사용할 수 없습니다. SQL 서버 2005?SQL 서버 2005 : 2 개의 동일한 레코드에서 하나의 레코드 업데이트

+0

기존 태그가 완벽하게 존재할 때 의도적으로 새 태그를 고안하지 마십시오. – skaffman

+0

@skaffman : http://meta.stackexchange.com/questions/50088/official-repository-of-tag-synonyms (예, 귀하의 의견이 저에게 전달되지 않았 음을 알고 있습니다) –

+1

@Jon : 상당한 열의와 태그 동의어 ... – skaffman

답변

2

테이블에 ID 열을 추가 한 다음 해당 ID 열을 업데이트하거나 행을 고유하게 만드는 테이블의 기본 키를 기반으로 업데이트합니다.

+0

사용할 수있는 식별 열이 없습니다. 모든 열 값은 동일합니다 – Shyju

+3

동의합니다. 어떻게 든 고유하게 만드는 열을 추가해야합니다. 식별 컬럼은 없지만 추가해야합니다. 그렇지 않으면 모든 데이터가 동일하면 업데이트 만 업데이트하도록 알릴 수 없습니다. TOP 1 결과 만 반환하는 특수보기 또는 쿼리를 만들려는 경우이 옵션을 사용할 수 있지만 가장 직접적인 방법은 아닙니다. 그리고 성공할 지 확신하지 못합니다. – Thyamine

5

I하지 많은 TOP 연산자,하지만 같은 :

UPDATE top (1) MyTable 
set Data = '123' 
where Data = 'def' 

정말, 당신은 그들이 단지 정체성 대리 값이있는 경우에도, 상황 단지이 종류를 피하기 위해 당신의 테이블에 기본 키를 갖고 싶어 .

+1

sh1te 디자인을 다루는 우아함에 +1. – gbn

관련 문제