Android SQlite 触发器

标签 android triggers sqlite android-sqlite

这是一个非常具体的问题。我一直在努力弄清楚所需的确切步骤,但我想不出任何可行的方法。

每当“任务”表中的新任务插入数据库时​​,我需要一个触发器将新记录插入到名为 Records 的表中。我需要为“项目”表中符合任务条件的每个未清项目插入一条记录。我对声明的伪代码/尝试如下。

CREATE TRIGGER update_item_records ON INSERT INTO tasks
BEGIN
   SELECT item in ITEMS WHERE item.type=new.type AND item.program=new.program
   ....now insert into records - this is where I'm confused
   INSERT  INTO records record.item = item.id, record.program = new.program, 
   record.task=new.id
END

最佳答案

触发器中 SELECT 语句的结果将被忽略。 但是,INSERT 命令 accepts a SELECT query as source :

INSERT INTO records(item, program, task)
SELECT id, new.program, new.id
FROM items
WHERE type = new.type
  AND program = new.program;

关于Android SQlite 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643610/

相关文章:

android - 将 MySQL 查询转换为 SQLite

android - 为什么我的文字总是位于屏幕顶部而不是中心?

Android:如何将 TextVIew 的最大宽度设置为屏幕尺寸的比率?

android - 如何使用 OpenGL ES 2 从相机获取灰度预览

postgresql - 是否可以使用变量访问postgresql触发器中的记录列

java - 查找多列之间的第二低值

postgresql - 从 pg_stat_activity 查看时不启动触发器

wpf - 使用 EventTrigger 设置属性

SQLite:计算 GROUP_BY 语句产生的类似 COUNT(*) 行的数量

sqlite - SQLite 3.8时间戳更新触发问题