我需要使用MySQL创建特定触发器的帮助。以下是我的触发器的详细信息以及当前的说明。但是,我的陈述不断给我一个错误消息,所以我做错了什么。任何帮助将是巨大的!谢谢!
问题a)创建一个名为Membership_balance_updates的触发器,该触发器将捕获对Membership中的mem_balance列所做的任何更新。触发器应仅捕获成员余额实际发生变化的那些交易。mem_num,旧的mem_balance,新的mem_balance,用户,交易日期应放置在membership_balance_audit表中。
我的声明:
CREATE TRIGGER membership_balance_updates
AFTER UPDATE OF mem_balance ON membership
FOR EACH ROW
INSERT INTO membership_balance_audit
VALUES (mem_mum, old_mem_balance, new_mem_balance, transaction_date,
transaction_user);
以下是用于创建Membership_balance_audit表的脚本。
CREATE TABLE IF NOT EXISTS membership_balance_audit
(mem_num INTEGER,
old_mem_balance DECIMAL(10,2),
new_mem_balance DECIMAL(10,2),
transaction_date TIMESTAMP,
transaction_user VARCHAR(50));
尝试使用此:
CREATE TRIGGER membership_balance_updates
AFTER UPDATE ON membership
FOR EACH ROW
BEGIN
IF NEW.mem_balance <> OLD.mem_balance THEN
INSERT INTO membership_balance_audit
(mem_mum, old_mem_balance, new_mem_balance, transaction_date,
transaction_user)
VALUES (OLD.membership_id, OLD.mem_balance, NEW.mem_balance, NOW(),
CONCAT(OLD.first_name, ' ', OLD.last_name));
END IF;
END;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句