De alguma forma, é possível criar um procedimento armazenado ao usar o SQLite?
sqlite
stored-procedures
grady
fonte
fonte
Resposta : NÃO
Eis o porquê ... Eu acho que uma das principais razões para armazenar procs em um banco de dados é que você está executando o código SP no mesmo processo que o mecanismo SQL. Isso faz sentido para os mecanismos de banco de dados projetados para funcionar como um serviço conectado à rede, mas o imperativo para o SQLite é muito menos, pois ele é executado como uma DLL no processo do aplicativo e não em um processo separado do mecanismo do SQL. Portanto, faz mais sentido implementar toda a lógica de negócios, incluindo o que seria o código SP no idioma do host.
No entanto, você pode estender o SQLite com suas próprias funções definidas pelo usuário na linguagem host (PHP, Python, Perl, C #, Javascript , Ruby etc.). Você pode usar essas funções personalizadas como parte de qualquer seleção / atualização / inserção / exclusão do SQLite. Eu fiz isso em c # usando o SQLite do DevArt para implementar o hash de senha.
fonte
Se você ainda estiver interessado, Chris Wolf fez uma implementação de protótipo do SQLite com procedimentos armazenados. Você pode encontrar os detalhes em sua postagem no blog: Adicionando procedimentos armazenados ao SQLite
fonte
No entanto, é possível falsificá-lo usando uma tabela dedicada, nomeada para o seu fake-sp, com um gatilho AFTER INSERT. As linhas da tabela dedicada contêm os parâmetros para o seu sp falso, e se precisar retornar resultados, você pode ter uma segunda tabela (poss. Temp) (com nome relacionado ao fake-sp) para conter esses resultados. Exigiria duas consultas: primeiro para inserir dados na tabela fake-sp-trigger e a segunda para SELECT da tabela fake-sp-results, que poderia estar vazia ou ter um campo de mensagem se algo desse errado. .
fonte