sql - 触发自动将元组添加到关系
问题描述
我正在尝试在 SQLITE 上创建一个触发器,以便在将某些内容添加到某个表时自动将元组添加到另一个表,但首先,我想检查我添加的内容是否属于另一个第三个表。
这是我的触发器:
DROP TRIGGER IF EXISTS atualizaBibliotecas;
CREATE TRIGGER atualizaBibliotecas
AFTER INSERT ON FoiComprado
FOR EACH ROW
BEGIN
SELECT CASE
WHEN
(
SELECT count(*)
FROM Album
WHERE idItem = NEW.idItem
) <> 0
THEN INSERT INTO Possui(idItem, email, dataAquisicao) VALUES(11,'aaaa@bbbb.com', '2019-05-14');
END;
这是我收到的错误:
Error: near line 8: near "INSERT": syntax error
第 8 行:
CREATE TRIGGER atualizaBibliotecas
解决方案
我相信你想要:-
CREATE TRIGGER atualizaBibliotecas
AFTER INSERT ON FoiComprado
FOR EACH ROW
WHEN
(
SELECT count(*)
FROM Album
WHERE idItem = NEW.idItem
) <> 0
BEGIN
INSERT INTO Possui(idItem, email, dataAquisicao) VALUES(11,'aaaa@bbbb.com', '2019-05-14');
END;
推荐阅读
- c++ - C++在其他项目中使用共享库而不指定-I
- python - 尝试转换数据框中的项目。也许是 JSON
- ios - 我正在尝试处理用户身份验证状态更改并分配根视图控制器不起作用?
- ios - 如何将从服务器接收到的图像加载到 SpriteKit 游戏中?
- docker - kubernetes pods 无法与外界通信
- javascript - 使用 Javascript 使某些字段根据下拉值消失
- asp.net-core - 通过互联网公开我的 asp.net 核心网络应用程序
- python - 划掉打印值的行:Python 3
- python - ImportError: cannot import name 'weight_as_number' from 'matplotlib.font_manager' 错误在 Kivy Matplotlib 后端
- regex - 正则表达式删除字符串中最后一个数字之前的所有内容