2013-11-21 50 views
0

我有一個用戶將記錄插入的保留表。
用戶不選擇汽車只是類型。SQLITE獲取觸發器以檢查table1並插入到表2中

一旦記錄插入我想要一些觸發器來做到以下幾點: -

的日期和車輛組合到一個日誌文件中的數據和車輛是唯一的(日,汽車),所以該預約不能進行因此兩次車不能雙重預訂。

所以我的問題是我該如何得到觸發器來選擇該類型的下一個可用的汽車?

我可以通過只是說Car.carid!= Log.carid來選擇下一輛車,但沒有使用日期作爲第二次檢查,所以我不能在另一日期使用車輛。

乾脆把AND表示 WHERE Car.carid!= Log.carid AND Reservation.date!= C.datewhen

一些指導,將不勝感激檢查不工作之間!

+1

在您考慮觸發器之前,您必須瞭解必須使用哪些SQL語句手動執行操作! –

+0

嘿LS_dev謝謝是的我試圖做到這一點,但我只能得到基於汽車或基於類型不是兩個。但是,方法明智,我完全同意,作爲一個noob正在嘗試! – jarope

回答

0

我覺得這個查詢你是什麼後...

SELECT  MIN(c.carid) 
FROM  all_cars c 
WHERE  c.type = 'CAR TYPE' 
    AND NOT EXISTS 
     (SELECT  1 
     FROM  reservation r 
     WHERE  r.date = 'THE DATE' 
      AND r.carid = c.carid) 

如果查詢返回NULL值,那麼無車可用。 或者您也可以取下MIN,然後使用返回的第一條記錄。

+0

嘿艾德里安,我剛剛跑過這個,我可以看到你要去的地方。使用MIN它會返回最低的數字,就像我有一個ORDER BY一樣。我需要將其添加到我的查詢中,並查看它是否正常工作,因爲我需要它。這就是說,我認爲我可能需要看看究竟是什麼,我需要作爲結果。謝謝 – jarope