Valid GROUP BY query doesn't work when combined with INSERT INTO on Oracle

后端 未结 4 1051
旧时难觅i
旧时难觅i 2021-02-13 22:31

I\'m trying to write an INSERT INTO that does a some DISTINCT/GROUP BY work. The query runs perfectly fine as a select statement, but will not work if it\'s wrapped into an INS

4条回答
  •  臣服心动
    2021-02-13 22:53

    I arrived here trying to solve a similar situation so it seems to me that this kind of problem still appears.

    In my case, avoiding any optimizer transformation, did the trick.

    I applied a NO_QUERY_TRANSFORMATION hint to the "intoed" SELECT statement and the error disappeared.

    In the case of this question, I should rewrite it as:

    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
    

提交回复
热议问题