【发布时间】:2014-11-01 00:37:55
【问题描述】:
用户注释表:
_id integer primary key,
name text,
extra text
用户提醒表:
_id integer primary key,
noteid ineteger,
FOREIGN KEY(noteid) REFERENCES userNotesTable(id) ON DELETE CASCADE
插入触发器:
CREATE TRIGGER trigger_name
AFTER INSERT ON userRemindersTable BEGIN INSERT INTO searchTable (id,noteId)
VALUES (new.id,new.noteId);
END;
更新触发器:
CREATE TRIGGER trigger_name
AFTER UPDATE ON userRemindersTable BEGIN
UPDATE searchTable SET _id = new._id, noteid = new.noteid WHERE id IS new.id;
UPDATE searchTable SET name = new.name, extra = new.extra WHERE id IS new.noteid;
END;
这是数据库的当前代码及其对提醒表的特定触发器。我遇到的困难是从提醒表中的特定noteid 中的用户注释表中select 特定的name 和extra都在更新触发器中。
当插入发生时,id 和 noteid 被插入到提醒和搜索表中,但我希望能够使用用户注释表中的特定名称和额外内容更新搜索表,这可能吗?
【问题讨论】:
-
是否有意将 INSERT 和 UPDATE 触发器共享同一个名称 (
trigger_name)? -
是的。关于如何从提醒中使用特定 noteid 从用户注释表中选择名称和其他内容的任何建议?
标签: android sqlite android-sqlite triggers