我们可以在SQLITE触发器中使用Select Into或类似的东西吗?

问题描述 投票:0回答:1

使用SQLITE,我有2个表Employee(标识,名称,电话,任务名称)和Tasks(标识,名称,日期,Employee_id)

我想在更新行后添加触发器以从任务表中获取任务名,其中employeee_id相同。我认为这将需要使用SELECT INTO NEW.taskname,但我似乎无法正确执行。我尝试过。

CREATE TRIGGER "gettaskname"
AFTER UPDATE
ON "Employee"
BEGIN
SELECT Tasks.name FROM Tasks INTO NEW.task_name WHERE NEW.id = Tasks.Employee_id;
END;

我遇到语法错误

sqlite triggers
1个回答
0
投票

我发布此答案,因为没有人回答,有一些非常有趣的评论。我找到了此线程creating variable inside trigger,但它对我不起作用,并且由于使用PRAGMA和CREATE TEMP TABLE而出现语法错误。

这对我有用:

CREATE TRIGGER "gettaskname"
AFTER UPDATE
ON "Employee"
BEGIN
UPDATE Employee SET task_name = (SELECT Tasks.name FROM Tasks WHERE NEW.id = Tasks.Employee_id) WHERE id = NEW.id;
END;
© www.soinside.com 2019 - 2024. All rights reserved.