create trigger t123 after update on t1
begin
.shell echo "hi";
end;
.
附近显示语法错误如何更正?
我的目标是通过在sqlite中使用trigger来执行脚本。
答案 0 :(得分:1)
documentation表明在触发器主体中只允许UPDATE / INSERT / DELETE / SELECT语句。
(并且.shell
无论如何都不是SQL语句;它只由sqlite3
命令行shell实现。)
执行脚本的唯一方法是create a user-defined function,然后可以在虚拟查询中使用它来执行:
CREATE TRIGGER ...
BEGIN
SELECT run_script('echo "hi"');
END;
(如果某些其他没有安装此功能的程序使用该数据库,则此触发器将失败。)