Действительный запрос GROUP BY не работает в сочетании с INSERT INTO в Oracle
Я пытаюсь написать INSERT INTO, который выполняет некоторую работу DISTINCT / GROUP BY. Запрос отлично работает как оператор выбора, но не будет работать, если он заключен в INSERT INTO.
INSERT INTO MasterRecords
(BatchRecordRecordID, SourceID, BatchID)
SELECT RecordID, SourceID, BatchID
FROM (
SELECT RecordID, BatchID, 101 AS SourceID
FROM BatchRecords
WHERE BatchID = 150
GROUP BY RecordID, BatchID
) BR
Это зарабатывает мне:
Ошибка SQL: ORA-00979: не выражение GROUP BY
Но если я удаляю только код INSERT INTO, он работает отлично:
SELECT RecordID, SourceID, BatchID
FROM (
SELECT RecordID, BatchID, 101 AS SourceID
FROM BatchRecords
WHERE BatchID = 150
GROUP BY RecordID, BatchID
) BR
Результаты:
3 101 150
5 101 150
6 101 150
2 101 150
4 101 150
8 101 150
7 101 150
1 101 150
Я предполагаю, что GROUP BY не разрешены внутри операторов INSERT INTO select, но я почти не могу найти документацию, подтверждающую это.