sql >> Database >  >> RDS >> Oracle

Geldige GROUP BY-query werkt niet in combinatie met INSERT INTO op Oracle

Ik ben hier aangekomen om een ​​soortgelijke situatie op te lossen, dus het lijkt mij dat dit soort problemen zich nog steeds voordoen.

In mijn geval deed het vermijden van elke optimalisatietransformatie de truc.

Ik heb een NO_QUERY_TRANSFORMATION hint toegepast op de "intoed" SELECT-instructie en de fout is verdwenen.

In het geval van deze vraag zou ik het moeten herschrijven als:

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. Hoe postgresql 9.4 jsonb naar object te converteren zonder functie/server-side taal

  2. Hoe comprimeer ik deze Oracle-resultatenset in waarden volgens rijprioriteit, waarbij ik nulls negeer?

  3. Waarom gebruikt deze query waar in plaats van index?

  4. Is urlencode() goed genoeg om alle SQL-injectieaanvallen in het jaar 2011 te stoppen?