Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Prawidłowe zapytanie GROUP BY nie działa w połączeniu z INSERT INTO w Oracle

Przybyłem tutaj, próbując rozwiązać podobną sytuację, więc wydaje mi się, że tego rodzaju problem nadal się pojawia.

W moim przypadku uniknięcie jakiejkolwiek transformacji optymalizatora załatwiło sprawę.

Zastosowałem wskazówkę NO_QUERY_TRANSFORMATION do „intoed” SELECT i błąd zniknął.

W przypadku tego pytania powinienem przepisać je jako:

INSERT INTO MasterRecords
  (BatchRecordRecordID, SourceID, BatchID)
SELECT /*+NO_QUERY_TRANSFORMATION*/ RecordID, SourceID, BatchID
FROM (
    SELECT RecordID, BatchID, 101 AS SourceID
    FROM BatchRecords
    WHERE BatchID = 150
    GROUP BY RecordID, BatchID
) BR


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sekwencja hibernacji wyroczni wytwarza dużą lukę

  2. Problem z kodowaniem odpowiedzi na żądanie Oracle PL/SQL HTTP

  3. Jak radzić sobie z cudzysłowami ' w SQL?

  4. Jak utworzyć tabelę Oracle z zagnieżdżonymi tabelami typów obiektów?

  5. System.InvalidCastException:nie można rzutować obiektu z DBNull na inne typy