How can I insert multiple rows into oracle with a sequence value?

前端 未结 6 662
孤独总比滥情好
孤独总比滥情好 2020-12-13 03:58

I know that I can insert multiple rows using a single statement, if I use the syntax in this answer.

However, one of the values I am inserting is taken from a seque

6条回答
  •  再見小時候
    2020-12-13 04:13

    this works and there is no need to use union all.

    Insert into BARCODECHANGEHISTORY (IDENTIFIER,MESSAGETYPE,FORMERBARCODE,NEWBARCODE,REPLACEMENTDATETIME,OPERATORID,REASON)
    select SEQ_BARCODECHANGEHISTORY.nextval, MESSAGETYPE, FORMERBARCODE, NEWBARCODE, REPLACEMENTDATETIME, OPERATORID, REASON
    from (
      SELECT
        'BAR' MESSAGETYPE,
        '1234567890' FORMERBARCODE,
        '1234567899' NEWBARCODE,
        to_timestamp('20/07/12','DD/MM/RR HH24:MI:SSXFF') REPLACEMENTDATETIME,
        'PIMATD' OPERATORID,
        'CORRECTION' REASON
      FROM dual
    );
    

提交回复
热议问题