고객 테이블의 '이름'필드의 익명화를 시도하고 있습니다. 모든 레코드의 '이름'을 다음 레코드의 고객 이름으로 바꾸고 싶습니다. (나는 알고있다 : 그것은 정말로 익명이 아니지만 'name'과 'customerId'는 그 이후에 일치하지 않는다.) 내 생각에는 충분하다.Oracle SQL - 데이터베이스 필드를 다음 레코드의 내용으로 업데이트하십시오.
나는 이것을 시도했지만 ORA-01747 오류가 발생한다.
UPDATE Customer A
SET NAME =
(SELECT NAME
FROM Customer
WHERE ROWNUM = A.ROWNUM + 1)
무엇이 잘못 되었나요? 어떻게 모든 'name'필드를 테이블의 다음 'name'필드의 내용으로 업데이트 할 수 있습니까?
시도하려는 작업을 수행하려면 자체 조인을 수행해야합니다. 또한 테이블의 마지막 행과 경쟁해야합니다. 그렇게 말하면서, 당신의 목표를 성취 할 수있는 더 좋은 방법이있을 것입니다. 나는 내 머리 꼭대기에서 어떤 것도 생각할 수 없다. –