2010-04-15 6 views
0

4200 만 레코드가있는 테이블이 있습니다. 3 천 2 백만은 null 값을 가지고 있으며 각각에 대해 새로운 GUID를 생성하려고합니다. 일괄 처리해야합니까?Sybase에서 Guids 자동 생성

또한 앞으로 새로운 레코드를 삽입 할 때 새로운 GUID를 필드에 추가하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

필드가 기본 키가 아니며 자동 증가 정수입니다.

답변

0

삽입 트리거를 사용해 보셨습니까?

+0

감사합니다. 예, 당신은 새로운 사용자이므로 귀하의 대답에 +1이 있습니다. –

0

guid를 생성하는 newid() 함수가 있습니다. 열은 varchar (32) 또는 varbinary (16) 이상이어야합니다. 당신은 당신은 트리거가 필요하지 않습니다 예컨대

set rowcount 10000 
while exists (select 1 from mytab where myid is null) 
    update mytab set myid = newid() where myid is null 
set rowcount 0 

로그 트랜잭션을 작성 피하기 위해 일괄 업데이트를 실행해야합니다 - 그냥 열 기본값으로 기능을 결합한다. Sybase 문서에는 예제가 있습니다.