programing

열을 Oracle db의 동일한 테이블 내의 다른 열로 복사합니다.어떤 데이터가 어디에 저장되는지 지정해야 합니까?

muds 2023. 7. 25. 21:23
반응형

열을 Oracle db의 동일한 테이블 내의 다른 열로 복사합니다.어떤 데이터가 어디에 저장되는지 지정해야 합니까?

오라클 테이블에서 열의 데이터 유형(varchar2를 숫자로)을 변경하고 열이 비어 있지 않습니다.그래서 저는 제가 할 일은 새로운 열을 만들고, 한 열에서 다른 열로 데이터를 복사하는 것이라고 생각했습니다.이전 열을 비활성화/삭제하고 새 열의 이름을 변경합니다.

동일한 열 간에 데이터를 복사하려면 다음을 사용할 수 있습니다.

UPDATE TABLE_NAME SET NEW_COLUMN = TO_NUMBER(OLD_COLUMN);

그러나 이 작업을 수행하기 전에 확인하고 싶은 것은 어떤 행의 데이터가 어디로 이동하는지 지정해야 합니까?또는 열의 인접 행으로 복사됩니까?제 말은, 제가 다음과 같은 일을 해야 한다는 것입니다.

UPDATE (SELECT TO_NUMBER(OLD_COLUMN) AS OLDISH, NEW_COLUMN AS NEWISH FROM TABLE_NAME A, TABLE_NAME B WHERE A.ID = B.ID) SET NEWISH = OLDISH;

각 행에 대해 동일한 행에서 작업이 수행됩니다.

모든 테이블 행을 업데이트하지 않으려면 다음을 추가해야 합니다.WHERE

UPDATE foo_table SET some_column = another_column사용하다some_column그리고.another_column같은 줄의하지만 모든 행에서 동일한 작업을 수행합니다.foo_table당신이 원하는 것인지 확인하세요.

언급URL : https://stackoverflow.com/questions/24740745/copy-a-column-to-another-column-within-a-same-table-in-oracle-db-do-i-need-to-s

반응형