DB2를 사용 중이고 내 조건에 맞는 여러 행을 내 시퀀스의 다음 값과 동일하게 업데이트하려고합니다. 는 여기에 내가 시도했지만 다음 값은 각 행에 대한 페치로 문제가 해결되지 않는 것입니다 : -동일한 시퀀스 값을 사용하여 여러 행을 업데이트하는 방법
update dependency dep set vid=NEXT VALUE FOR seq_VID where id in ('8371','8372','8373')
ID는 기본 키 및 seq_VID는 순서입니다. 그래서 내가 기대했던 것은 다음 시퀀스 값이 99이고, 99가 3 행 모두에 설정된다는 것입니다 (99,100,101은이 경우와 동일하지 않습니다). 내 해결 방법은, 내 목록의 각 ID에 대한 별도의 문으로 그것을 깰 즉
update dependency dep set vid=NEXT VALUE FOR seq_VID where id= ('8371')
update dependency dep set vid=PREVIOUS VALUE FOR seq_VID where id= ('8372')
update dependency dep set vid=PREVIOUS VALUE FOR seq_VID where id= ('8373')
하지만 가능하면 하나의 SQL 문이 실행하고 싶습니다이다 - 어떤 아이디어?
위의 예에서 위의 예에서는 목록에 3 개의 ID가 있지만 더 큰 쿼리의 일부로이 쿼리를 실행할 때 1에서 많은 수를 나타냅니다. – Garret