当表A有数据insert的时候触发,更新表B的某条数据
表A有列
aid identity(1,1),
xid integer表B有列
bid identity(1,1),
xid integer(外键A表xid),
yid integer当表A有数据插入时,表B的xid字段与表A的xid字段对应的那条数据被更新,yid+1,请稳这个触发器应该怎么写?
表A有列
aid identity(1,1),
xid integer表B有列
bid identity(1,1),
xid integer(外键A表xid),
yid integer当表A有数据插入时,表B的xid字段与表A的xid字段对应的那条数据被更新,yid+1,请稳这个触发器应该怎么写?
CREATE TRIGGER a_after_ins AFTER INSERT ON a
FOR EACH ROW
BEGIN
DECLARE xid INT;
SET xid = ????;
UPDATE b SET yid = yid + 1 WHERE xid = xid;
END;问好那里不解,不知怎样得到刚出入的数据
现在insert了一条记录,在trigger中可以用NEW.id去引用刚insert记录的ID.
OLD同理,具体看手册.
FOR EACH ROW
BEGIN
DECLARE xid INT;
SET myid = NEW.xid;
UPDATE b SET yid = yid + 1 WHERE xid = myid;
END;这样好像会报错~~不知错在哪里~
如果xid是字符串的,写成DECLARE xid STRING会报错