我有以下兩個字段刪除或更新SQL記錄
jobid | statusCode
現在,這裏是我想做的事情,我想「給定作業ID刪除reocrd如果的StatusCode小於一定值的表,否則用新的statusCode更新此記錄「
我的問題是有一些單一的SQL操作來執行上述工作,或者我必須使用多個SQL」if-else「類查詢。我的數據庫是SQlite3
Regards, Farrukh Arshad。
我有以下兩個字段刪除或更新SQL記錄
jobid | statusCode
現在,這裏是我想做的事情,我想「給定作業ID刪除reocrd如果的StatusCode小於一定值的表,否則用新的statusCode更新此記錄「
我的問題是有一些單一的SQL操作來執行上述工作,或者我必須使用多個SQL」if-else「類查詢。我的數據庫是SQlite3
Regards, Farrukh Arshad。
SQLite有一個命令UPDATE OR REPLACE,該命令組合了更新和插入,但這僅適用於您希望避免插入重複的常見情況。
DELETE命令沒有您想要的功能。
SQLite沒有任何控制流語句,所以最好的辦法是同時執行DELETE/UPDATE語句:
DELETE FROM MyTable
WHERE jobid = ?
AND statusCode < ?;
UPDATE MyTable
SET statusCode = ?
WHERE jobid = ?; -- does nothing if record was deleted
像這樣的東西應該有所幫助:
這不起作用。 –
只會有1 if-else used –