Как вставить данные из временной таблицы в секционированную таблицу в oracle / sql с помощью оператора слияния - PullRequest
0 голосов
/ 13 февраля 2020

Мне нужно написать оператор слияния для вставки данных из временной таблицы в многораздельную таблицу, и я получаю сообщение об ошибке ниже: -

Отчет об ошибке - SQL Ошибка: ORA-14400: вставлен ключ раздела не сопоставляется ни с одним разделом

  1. Я должен сделать это сессионно и в результате должен использовать временную таблицу, которая не может быть разбита на разделы.

1 Ответ

0 голосов
/ 13 февраля 2020

если вы вставляете наборы данных в разделенную таблицу, oracle хотите поместить ее в правильный раздел. Вы должны создать для полного периода времени разделы, как в примере для раздела MONTHY:

ALTER TABLE sales ADD 
PARTITION sales_q1_2007 VALUES LESS THAN (TO_DATE('01-APR-2007','dd-MON-yyyy')),
PARTITION sales_q2_2007 VALUES LESS THAN (TO_DATE('01-JUL-2007','dd-MON-yyyy')),
PARTITION sales_q3_2007 VALUES LESS THAN (TO_DATE('01-OCT-2007','dd-MON-yyyy')),
PARTITION sales_q4_2007 VALUES LESS THAN (TO_DATE('01-JAN-2008','dd-MON-yyyy'))
;

Если вы сделали это, вы можете вставить необходимую задницу данных. Удачи,

...