我一直在努力设置触发器并不断收到错误:
“DROP”附近的SQL逻辑错误:语法错误
我有几个表main_table,other_one,other_two等。
因此,如果我使用主键 other_one 删除 main_table 中的行,我希望触发器也可以删除表 other_one
这是产生错误的触发器语句
CREATE TRIGGER remove_other_one AFTER DELETE ON 'main_table'
WHEN (OLD.filehash == 'other_one')
BEGIN
DROP TABLE IF EXISTS 'other_one' ;
END remove_other_one;
编辑:我在SQLite数据库浏览器中运行触发器语句时得到的“更全面”错误是:
在“DROP”附近:语法错误:CREATE TRIGGER remove_other_one删除后'main_table'WHER(OLD.filehash =='other_one')BEGIN DROP
答案 0 :(得分:2)
基于SQLite trigger doc我认为不可能:
在触发器内没有DDL /动态SQL选项。
我想您希望实现PostgreSQL DBFiddle Demo 1 和Demo 2
之类的功能您可以在应用程序代码中处理您的案例。无论如何table per date/customer/hash几乎总是表明设计不佳,从长远来看会导致更多问题。