SQLite Trigger 触发器

SQLite 的触发器 ( Trigger ) 可以指定在特定的数据库表发生 DELETE、INSERT 或 UPDATE 时触发,或在一个或多个指定表的列发生更新时触发

理解 SQLite 中的触发器要掌握以下几点

  • SQLite 只支持 FOR EACH ROW 触发器 ( Trigger )

    没有 FOR EACH STATEMENT 触发器 ( Trigger )

    FOR EACH ROW 是可选的

  • WHEN 子句和触发器 ( Trigger ) 动作可能访问使用表单 NEW.column-nameOLD.column-name 的引用插入、删除或更新的行元素

    其中 column-name 是从与触发器关联的表的列的名称

  • 如果提供 WHEN 子句,则只针对 WHEN 子句为真的指定行执行 SQL 语句

    如果没有提供 WHEN 子句,则针对所有行执行 SQL 语句

  • BEFOREAFTER 关键字决定何时执行触发器动作,决定是在关联行的插入、修改或删除之前或者之后执行触发器动作

  • 当触发器相关联的表删除时,自动删除触发器 ( Trigger )

  • 要修改的表必须存在于同一数据库中,作为触发器被附加的表或视图,且必须只使用 tablename ,而不是 database.tablename

  • 一个特殊的 SQL 函数 RAISE() 可用于触发器程序内抛出异常

SQLite 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.