在Android上,SQLite触发器是否会触发其他触发器?

时间:2012-04-22 17:35:23

标签: android sqlite triggers

在SQLite中考虑这个SQL:

CREATE TABLE X (Xid INTEGER PRIMARY KEY);
CREATE TABLE Y (Yid INTEGER PRIMARY KEY, Xid INTEGER NOT NULL);
CREATE TABLE Z (Yid INTEGER PRIMARY KEY, Blah INTEGER NOT NULL);

CREATE TRIGGER IF NOT EXISTS OnDeleteX
    BEFORE DELETE ON X
    FOR EACH ROW BEGIN
        DELETE FROM Y WHERE Xid = OLD.Xid;
    END;

CREATE TRIGGER IF NOT EXISTS OnDeleteY
    BEFORE DELETE ON Y
    FOR EACH ROW BEGIN
        DELETE FROM Z WHERE Yid = OLD.Yid;
    END;

当我删除X中的一行时,我希望其Y Z中的关联项目也会被删除。我已经使用SQLite 3.7.11在我的PC上验证了这种行为。在Android 4.0.4上,这似乎不起作用。

问: Android上的SQLite是否支持级联触发器?即触发其他触发器。

此外,某种交易是否会阻止触发器工作?

0 个答案:

没有答案