0
直接向前,我有觸發器mysql中使用條件狀態的問題。 有2個狀態,如果狀態是'客人',那麼做一些事情,否則做另一件事。如果在mysql中有條件觸發?
這裏就是我已經做出:
CREATE TRIGGER `update-gain` AFTER INSERT ON `payment`
FOR EACH ROW BEGIN
declare v_profit integer;
declare v_deposit integer;
declare v_status CHAR;
select (status) into v_status from item where item.id_item=new.id_item;
select sum(profit_owner) into v_profit from payment where payment.id_item=new.id_item;
select sum(profit_guest) into v_deposit from payment where payment.id_item=new.id_item;
if v_status like 'guest' then
INSERT INTO gain
(gain.profit, gain.modal,gain.date)
VALUES
(v_profit,v_deposit,new.date)
ON DUPLICATE KEY UPDATE
gain.profit = gain.profit+new.profit_owner,
gain.modal = gain.deposit+new.profit_guest;
else
INSERT INTO gain
(gain.profit,gain.tanggal)
VALUES
(v_profit,new.tgl_stok)
ON DUPLICATE KEY UPDATE
gain.profit = gain.profit_owner+new.profit_owner;
end if;
END
到目前爲止,我使用「喜歡」條款,但病情總是如此,甚至v_status不是「客人」。
我在這裏做錯了什麼? 謝謝:)
你嘗試'設置v_status = new.status'?我想你會在這裏使用你的方法收到默認值。 – Psi
如果您發佈表格和一些示例數據的結構將會很有用。 – wchiquito
那麼,'收益'表沒有'狀態'字段。 @Psi。 – Dika