3
테이블의 각 행의 일부 열을 고유 한 값으로 설정하는 방법이 있습니까? SQL 서버 2000 에 SQL (안 T/SQL)를 사용하여SQL Server에서 열의 각 행에 고유 ID를 설정하는 방법
update mytable set myCol=rownum()
나는 스키마를 건드릴 수 없어하지만 난 여분의 열 또는 두 가지를 않습니다.
테이블의 각 행의 일부 열을 고유 한 값으로 설정하는 방법이 있습니까? SQL 서버 2000 에 SQL (안 T/SQL)를 사용하여SQL Server에서 열의 각 행에 고유 ID를 설정하는 방법
update mytable set myCol=rownum()
나는 스키마를 건드릴 수 없어하지만 난 여분의 열 또는 두 가지를 않습니다.
기본 키가있는 경우 행을 계산하여 고유 값을 생성 할 수 있습니다. 예를 들어 (테이블의 이름으로 #t
대체) :
update t
set t.col1 = (select COUNT(*) from #t t2 where t.pk >= t2.pk)
from #t t
을 당신이 varchar(36)
이상이있는 경우, 생성 할 수 있습니다 고유성을 보장받을 수 있습니다 GUID의 :
update #t
set col1 = NEWID()
당신이 둘 다없는 경우, 변수를 사용할 수 있습니다. 이 기술은 기반이 설정되어 있지 있기 때문에 눈살을 찌푸리게하지만, 꽤 잘 작동 : 스키마를 만지지 수 있기 때문에, 당신은 코드에서이 일을하는
declare @i int
set @i = 1
update #t
set col1 = @i
, @i = @i + 1
? 그렇다면 어떤 언어입니까? –
테이블에 대해 DML SQL을 실행하려고합니다. 식별자 열이나 그와 비슷한 것을 추가 할 수 없습니다. – mikemay
기존의 고유 한 열이 있습니까? "예비"열은 어떤 유형입니까? – Oded