这是一个非常具体的问题。我一直在努力弄清楚所需的步骤,但我无法想出任何有效的方法。
每当“Task”表中的新任务插入数据库时,我需要一个触发器,将新记录插入名为Records的表中。我需要为'Items'表中的每个打开项插入一条记录,该记录与任务中的条件相匹配。我的伪代码/尝试声明如下。
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
答案 0 :(得分:2)
忽略触发器内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;
答案 1 :(得分:0)
在procedural code
。
database
个触发器
考虑
trigger
这个简单的演示,它在食堂添加了字段 插入新学生后自动和库 学院。
CREATE TRIGGER if not exists add_student
AFTER INSERT
ON[student]
for each row
BEGIN
insert into library values (2 , new.sid );
insert into canteen values (3 , new.sid);
END;