得到了奇怪的错误“没有找到相关名称'俱乐部'”但桌子俱乐部在数据库中。我认为问题出在插入值之后:
ALTER TRIGGER "tg_add_club" AFTER INSERT,
UPDATE ON Club
REFERENCING NEW AS item
FOR EACH ROW
WHEN (item.address NOT IN (SELECT name FROM Place))
BEGIN
//DECLARE i_id INTEGER;
INSERT INTO Place(name)
VALUES (item.address);
//SELECT @@identity INTO i_id;
UPDATE Club SET place = (SELECT id FROM Place WHERE name=item.address)
WHERE Name = item.name; //AND Place.name = item.address;
END
我认为问题出在VALUES(item.address)之后,但我不确定。
尝试过不同的东西,但仍然无效。谢谢你的阅读!
答案 0 :(得分:0)
问题是,SET place
和WHERE Name
应该相同,否则会给我错误。现在应该工作:
UPDATE Club SET Name =(SELECT id FROM Place WHERE name = item.address) WHERE Name = item.name;
如果是新地址,则会生成随机ID,Club会从表中获取所有地址的ID。