0
나는 새로운 ID가 ID를 통해 업데이트에서 레코드를 업데이트,하지만 난 테이블 B의 같은 테이블 A의 마스터 레코드에 대한 ID와 그 부양 가족을 유지하기 위해 필요업데이트 테이블 커서를 사용뿐만 아니라 다른 테이블
주석으로 묶은 덩어리는 내가 알 수없는 부분이다. 나는 테이블 A에 대한 찾고 있어요 현재 레코드와 같은 ID를 공유하는 테이블 B의 모든 레코드를 업데이트 할 필요가 가정을 바탕으로
DECLARE CURSOR_A CURSOR FOR
SELECT * FROM TABLE_A
FOR UPDATE
OPEN CURSOR_A
FETCH NEXT FROM CURSOR_A
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRANSACTION
UPDATE KEYMASTERTABLE
SET RUNNING_NUMBER=RUNNING_NUMBER+1
WHERE TRANSACTION_TYPE='TABLE_A_NEXT_ID'
-- FOLLOWING CHUNK IS WRONG!!!
UPDATE TABLE_B
SET TABLE_B_ID=(SELECT RUNNING_NUMBER
FROM KEYMASTERTABLE WHERE TRANSACTION_TYPE='TABLE_A_NEXT_ID')
WHERE TABLE_B_ID = (SELECT TABLE_A_ID
FROM CURRENT OF CURSOR A)
-- END OF BAD CHUNK
UPDATE TABLE_A
SET TABLE_A_ID=(SELECT RUNNING_NUMBER
FROM KEYMASTERTABLE WHERE TRANSACTION_TYPE='TABLE_A_NEXT_ID')
WHERE CURRENT OF CURSOR_A
COMMIT
FETCH NEXT FROM CURSOR_A
END
CLOSE CURSOR_A
DEALLOCATE CURSOR_A
GO
같은
는뭔가. 포스트그레스? MySQL은? –