Oracle: 하나의 필드를 업데이트하는 동안 행 복사
참고:저는 제가 대답하고 싶은 질문을 하고 있습니다.이 질문은 데이터베이스가 제대로 설정되지 않았다는 것을 의미합니다.그래서 저는 테이블 설치 방식을 변경할 것을 제안하는 모든 답변을 부결시킬 것입니다.
하나의 값을 변경하는 동안 여러 행을 복제해야 합니다.
name col1 col2
dave a nil
sue b nil
sam c 5
필요한 항목이 되어야 합니다.
name col1 col2
dave a nil
dave a a
sue b nil
sue b a
same c 5
이 표의 모든 항목에 대한 IE:col2 is null
테이블에 새 항목을 만듭니다.name
그리고.col1
복사된 것은 무엇입니까?col2
이라a
.
사용:
INSERT INTO table
(name, col1, col2)
SELECT t.name, t.col1, 'a'
FROM TABLE t
WHERE t.col2 IS NULL
그것은 두 가지 모두를 가정하지 않습니다.name
또는col1
열이 기본 키이거나 둘 중 하나에 고유한 제약 조건이 있습니다.
이걸로 충분할까요?
INSERT INTO yourtable
(SELECT name, col1, 'a'
FROM yourtable
WHERE col2 is NULL);
열 수가 많은 경우 원하는 데이터를 임시 테이블에 복사하고 원하는 대로 임시 테이블의 데이터를 변경한 다음 임시 테이블의 내용을 원본으로 다시 복사하고 임시 테이블을 삭제할 수 있습니다.
언급URL : https://stackoverflow.com/questions/3095998/oracle-copy-row-while-updating-one-field
'source' 카테고리의 다른 글
하위 쿼리를 사용하여 SQL 쿼리를 변환하는 방법을 선택합니다.NET Core 쿼리 (0) | 2023.07.24 |
---|---|
JavaScript 문서입니다.AJAX를 사용할 경우 Write가 모든 본문 컨텐츠를 대체합니다. (0) | 2023.07.24 |
FlatButton 클릭 시 AlertDialog를 해제하는 방법은 무엇입니까? (0) | 2023.07.19 |
선택을 사용하여 쿼리 결과에 행 추가 (0) | 2023.07.19 |
플라스크에서 글로벌 변수는 스레드 세이프입니까?요청 간에 데이터를 공유하려면 어떻게 해야 합니까? (0) | 2023.07.19 |