trigger no SQLite
O SQLite não suporta stored procedure diretamente, mas suporta triggers o que é um recurso muito útil para automatizar algumas ações.
Por exemplo, atualizar automaticamente o campo updated_at.
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nome TEXT,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE TRIGGER update_timestamp
BEFORE UPDATE ON users
FOR EACH ROW
BEGIN
UPDATE users SET updated_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
END;
Agora, quando você atualizar um registro na tabela users, o campo updated_at será atualizado automaticamente para o timestamp atual.
INSERT INTO users (nome) VALUES ('Teste 1');
UPDATE users SET nome = 'Teste 2' WHERE id = 1;
SELECT * FROM users;
Com isso, é possível manter a consistência dos dados sem precisar alterar manualmente o campo updated_at. As triggers do SQLite são leves e fáceis de implementar, tornando o código da aplicação mais simples.