我在MySQL數據庫中有一個訂單表,它有一個字段/列,用於存儲訂單放置時的日期時間戳。計算列或存儲過程還是隻需要php函數?
我需要計算何時必須發貨。我可能會弄清楚如何編寫一個函數來計算出貨日期,並在需要時調用它,但我認爲,不確定將shipdate作爲計算列是否更有意義。
這就是說,我從來沒有使用存儲過程或創建一個計算字段。後來我認爲會是最好的,但再次不確定。我曾經在FMP中一直做計算場,但是我已經離開了那個計劃。
我在MySQL數據庫中有一個訂單表,它有一個字段/列,用於存儲訂單放置時的日期時間戳。計算列或存儲過程還是隻需要php函數?
我需要計算何時必須發貨。我可能會弄清楚如何編寫一個函數來計算出貨日期,並在需要時調用它,但我認爲,不確定將shipdate作爲計算列是否更有意義。
這就是說,我從來沒有使用存儲過程或創建一個計算字段。後來我認爲會是最好的,但再次不確定。我曾經在FMP中一直做計算場,但是我已經離開了那個計劃。
我會做它作爲view。這基本上是一個選擇語句,其中一個結果列是發貨日期。您也可以添加其他相關列。任何有權訪問數據庫的應用程序都可以像普通表一樣訪問視圖。
如果您的表看起來像:
create table orders(id INTEGER PRIMARY KEY AUTO_INCREMENT,
order_date DATETIME);
而你總是後3日內發貨,你可以使用:
create view order_view as
select id,
order_date,
order_date + INTERVAL 3 DAY as ship_date
from orders;
select語句可以根據需要進行復雜。然後,您只需在任何應用程序中閱讀order_view
,就好像它是普通表格一樣。
這可能很酷我會玩這個,看看這是否符合法案。有沒有使用這個警告 – mcgrailm 2010-05-16 20:13:01
只是在選擇時間計算它。有什麼問題? – 2010-05-16 20:05:55
只是認爲它可能更好地在一個領域,所以我可以從任何應用程序訪問它,而無需在每個選擇語句計算它 – mcgrailm 2010-05-16 20:08:17
SQL是基於設置;雖然你可以自由創建你的功能,但它不會很好地擴展(當你增加應用記錄的數量時它會變慢)。 – 2010-05-16 20:18:59