테이블을 업데이트하는 동안 두 개의 파티션을 사용할 수 있습니까?파티션을 사용하여 테이블 업데이트
예를 들어, 나는 그런 식으로 뭔가를하려고하지만 오류가 발생합니다.
update student PARTITION (ma_stu_class1, ma_stu_class2)
set branch = 'R'||100;
그렇게 할 방법이 있으면 알려 주시기 바랍니다. 사전에
감사
테이블을 업데이트하는 동안 두 개의 파티션을 사용할 수 있습니까?파티션을 사용하여 테이블 업데이트
예를 들어, 나는 그런 식으로 뭔가를하려고하지만 오류가 발생합니다.
update student PARTITION (ma_stu_class1, ma_stu_class2)
set branch = 'R'||100;
그렇게 할 방법이 있으면 알려 주시기 바랍니다. 사전에
감사
당신은 documentation에 따라, 같은 여러 파티션을 업데이트 할 수 없습니다 - 당신이 화살의 PARTITION (partition)
일부 내부 partition
의 오른쪽에서 나오는이 될 수 있다면 partition
의 왼쪽에있는 ,
을 통해 다시 볼 수있는 다이어그램 - update_set_clause 다이어그램의 위쪽 절반과 비슷합니다.
대신 where 절에서 파티션 키를 사용해야합니다. 예를 들어, col1 및 col2 키가 켜져 있다면 다음을 수행하십시오.
선택 및 업데이트에는 여러 파티션을 사용할 수 없습니다. 대신 아래의 쿼리를 사용할 수 있습니다.
MERGE INTO student S
USING (SELECT * FROM student PARTITION(ma_stu_class1)
UNION ALL
SELECT * FROM student PARTITION(ma_stu_class2)) S1
ON (S.CONNON_COLUMN = S1.COMMON_COLUMN)
WHEN MATCHED THEN
UPDATE
SET
branch = 'R'||100;
UNION ALL 같은 테이블에 여러 파티션과 테이블을 업데이트 할 수 있습니다 기능을 통합하여
의 사용 가능한 복제 [업데이트 분할 된 테이블 오라클] (http://stackoverflow.com/questions/22847652/updating- 파티셔닝 된 테이블 - 오라클) – XING