일부 경우 12 자리로 채워져 있고 다른 경우에는 그렇지 않은 MAC 주소 목록이있는 테이블이 있습니다.MSSQL에서 업데이트하기 전에 고유 한 값이 존재하는지 확인하십시오.
예 : 00FF12345678 또는 FF12345678
는 두 값이 테이블에 존재하는 경우가 있습니다. 두 개의 0으로 값을 채우는 함수가 있는데이 중복의 발생을 계산할 수 있지만 수동으로 중복을 제거하거나 이미 레코드가없는 패드를 제거 할 시간이나 인내가 없습니다. 난 단지 기존이없는 그 값을 업데이트해야하기 때문에 물론
UPDATE [rs_DEVICES]
SET [device] = dbo.pad_zero(12,[device])
WHERE LEN([device]) < 12
이 작동하지 않습니다
나는 나는 다음과 같은 문으로 올바른 값으로 10 개 자리의 값을 업데이트 할 수 생각 12 자리 레코드. 이 열의 고유 한 제한 조건으로 인해이 작업이 중단됩니다.
IF EXISTS 문을 WHERE 절에 사용해야하지만 작동하는 것은 없습니다.
MSSQL Server 2008 R2를 사용하십시오.
생각하십니까?
열에 고유 색인을 추가하십시오. –