首頁>Database>source

我和 id,user_id,timestamp有一张桌子 而我正試圖 INSERT 到桌子上, user_id 从一个 DELETE from table where id=some_numbertimestamp .所以我想要達到的目標是:

INSERT INTO table (user_id,timestamp)
VALUES (
    (DELETE FROM table WHERE id=some_number returning user_id),
    current_timestamp+'1 day'
)
RETURNING *;

我在執行此操作時遇到語法錯誤...有人可以在這裏帮助我吗??

最新回復
  • 5月前
    1 #

    您可以使用修改公用表表達式的資料:

    with deleted as (
      DELETE FROM some_table
      WHERE id = 42
      returning user_id
    )
    INSERT INTO other_table(user_id, "timestamp")
    select user_id, timestamp '2020-01-04 21:32:34'
    from deleted;
    

  • 增加Oracle資料檔案的大小
  • 有關更新統計資訊和索引維護作業的問题