Innodb
我如何編寫一個儲存過程來執行計算並將結果儲存在表中?
我有兩張桌子:
CREATE TABLE `siteArea` ( `length` decimal(6,2) NOT NULL, `breadth` decimal(6,2) NOT NULL, `Area` decimal(6,2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `roadArea` ( `Area` decimal(6,2) NOT NULL, `roadWidth` decimal(6,2) NOT NULL, `roadArea` decimal(6,2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
在哪裡
Area = length * breadth; roadArea = Area * road_width;
siteArea 表中的列區域必須更新為 roadArea 表的區域列。
對 siteArea 表的 Area 所做的任何更改都必須更新到 roadArea 表,並且 roadArea 必須自動執行計算,而無需使用者輸入。
您需要在 siteArea 表上放置一個觸發器,以便無論何時更新或插入它,它都會呼叫一個帶有表示新站點區域的參數的儲存過程,該過程將計算所需的值並將它們插入到表中。
你的問題太模糊了,我無法進一步描述。