在两个表之间同步

时间:2013-11-30 09:26:34

标签: ios objective-c sqlite

我在iOS中使用sqlite DB。我有两个名为LEVEL和SUBJECT的表。 LEVEL TABLE SUBJECT TABLE

现在我需要同步上面两个表,当用户在SUBJECT表中添加新记录(使用LEVELID作为外键)时,LEVEL表中的TOTALCREDITS将自动更新。

1 个答案:

答案 0 :(得分:1)

您需要trigger

CREATE TRIGGER update_totalcredits
AFTER INSERT ON Subject
BEGIN
    UPDATE Level
    SET TotalCredits = (SELECT SUM(Credits)
                        FROM Subject
                        WHERE LevelID = NEW.LevelID)
    WHERE LevelID = NEW.LevelID;
END;

但是,在您需要时动态计算总余额(使用SELECT SUM(...查询)可能更好。