第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將項目從一個表重新插入到另一個表的 SQL 邏輯?例如,活動記錄變成非活動記錄

將項目從一個表重新插入到另一個表的 SQL 邏輯?例如,活動記錄變成非活動記錄

蕭十郎 2023-08-04 19:08:25
我有一張名為 booking 的表。主鍵是booking_id. 該表有一列名為booking_num。booking_num用于識別預訂。另一個表是booking_hist。目的是在一段時間后(假設(shè)是 2 天)將完整的預訂記錄從 booking 表傳輸?shù)?booking_hist 表中。識別它的列將為completed_dt。例如,completed_dt是“08-SEP-19”。我想要實現(xiàn)的是,在此日期后的兩天后,它將被移入booking_hist表中。列是否應該有 null<->non-null 轉(zhuǎn)換?我需要什么邏輯才能實現(xiàn)這一目標?我怎樣才能得到2天的日期?
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經(jīng)驗 獲得超13個贊

這聽起來像是預定工作中應該發(fā)生的事情。我會在預訂中添加一個ready_for_archive列——只是一個布爾標志。


我將有一個查詢標記在指定日期/時間之前發(fā)生的所有預訂,并從 java 傳遞 2 天前的日期。就像是


 UPDATE booking

 SET ready_for_archive = 1

 WHERE completed_dt <= :MY_START_DATE

然后我會將所有這些記錄添加到歷史表中


 INSERT INTO booking_hist

 SELECT * FROM booking

 WHERE ready_for_archive = 1;

然后將它們從預訂表中刪除:


 DELETE FROM booking

 WHERE ready_for_archive = 1;

在執(zhí)行該過程之前標記要存檔的記錄意味著不存在意外刪除因時間太短而無法復制的記錄的風險。


在Java中計算日期后傳入,使得sql查詢更加通用和可重用。


查看完整回答
反對 回復 2023-08-04
?
縹緲止盈

TA貢獻2041條經(jīng)驗 獲得超4個贊

創(chuàng)建一個存儲過程以從一個表移動到另一個表

如何用每日計劃的作業(yè)調(diào)用oracle中的存儲過程?

在 where 條件下添加 , trunc(sysdate) - to_date('completed_dt', 'yyyy-mm-dd') >2


查看完整回答
反對 回復 2023-08-04
?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

您可以安排 SQL 代理作業(yè)每天運行并調(diào)用存儲過程來瀏覽活動預訂并檢查 Completed_dt,如下所示:


-- add your insert here, e.g. INSERT INTO bookings_hist (...)

SELECT *

FROM booking b

LEFT JOIN booking_hist h

ON b.booking_id=h.booking_id

WHERE h.booking_id IS NULL

AND completed_dt IS NOT NULL

AND completed_dt<DATEADD(DAY,-2,GETDATE());


查看完整回答
反對 回復 2023-08-04
  • 3 回答
  • 0 關(guān)注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號