创建触发器
1. 在插入操作后触发的触发器:
CREATE TRIGGER trigger_name
AFTER INSERT
ON table_name
BEGIN
-- 触发器执行的操作
-- 可以包含 INSERT、UPDATE、DELETE 等操作
END;
2. 在更新操作前触发的触发器:
CREATE TRIGGER trigger_name
BEFORE UPDATE
ON table_name
BEGIN
-- 触发器执行的操作
-- 可以包含 INSERT、UPDATE、DELETE 等操作
END;
3. 在删除操作后触发的触发器:
CREATE TRIGGER trigger_name
AFTER DELETE
ON table_name
BEGIN
-- 触发器执行的操作
-- 可以包含 INSERT、UPDATE、DELETE 等操作
END;
触发器中的操作
在触发器中,可以执行各种 SQL 操作,例如插入、更新、删除等。以下是一个在插入操作后自动更新相关字段的触发器的例子:
CREATE TRIGGER update_timestamp
AFTER INSERT
ON example_table
BEGIN
UPDATE example_table
SET last_inserted = CURRENT_TIMESTAMP
WHERE rowid = NEW.rowid;
END;
删除触发器
要删除触发器,可以使用以下语法:
DROP TRIGGER IF EXISTS trigger_name;
这里的 trigger_name 是要删除的触发器的名称。
请注意,SQLite 触发器的创建和使用有一些限制,例如一个表上的触发器数量有限制,而且触发器不能触发同一表上的其他触发器。因此,在设计数据库时,需要谨慎使用触发器,确保它们满足业务需求且不引起不必要的复杂性。
转载请注明出处:http://www.pingtaimeng.com/article/detail/14189/SQLite