Apakah mungkin untuk membuat prosedur tersimpan, ketika menggunakan SQLite?
sqlite
stored-procedures
grady
sumber
sumber
Jawab : TIDAK
Inilah Mengapa ... Saya pikir alasan utama untuk menyimpan procs dalam database adalah bahwa Anda mengeksekusi kode SP dalam proses yang sama dengan mesin SQL. Ini masuk akal untuk mesin database yang dirancang untuk bekerja sebagai layanan yang terhubung jaringan tetapi keharusan untuk SQLite jauh lebih sedikit mengingat bahwa itu berjalan sebagai DLL dalam proses aplikasi Anda daripada dalam proses mesin SQL yang terpisah. Jadi lebih masuk akal untuk mengimplementasikan semua logika bisnis Anda termasuk apa yang seharusnya menjadi kode SP dalam bahasa host.
Namun Anda dapat memperluas SQLite dengan fungsi yang ditentukan pengguna Anda sendiri dalam bahasa host (PHP, Python, Perl, C #, Javascript , Ruby dll). Anda kemudian dapat menggunakan fungsi kustom ini sebagai bagian dari SQLite pilih / perbarui / masukkan / hapus. Saya telah melakukan ini di C # menggunakan SQLite DevArt untuk mengimplementasikan hashing kata sandi.
sumber
Jika Anda masih tertarik, Chris Wolf membuat prototipe implementasi SQLite dengan Stored Procedures. Anda dapat menemukan detailnya di posting blognya: Menambahkan Prosedur yang Disimpan ke SQLite
sumber
Namun, dimungkinkan untuk memalsunya menggunakan tabel khusus, dinamai untuk palsu-sp Anda, dengan pemicu SETELAH INSERT. Baris tabel khusus berisi parameter untuk sp palsu Anda, dan jika perlu mengembalikan hasil, Anda dapat memiliki tabel kedua (poss. Temp) (dengan nama yang terkait dengan fake-sp) untuk memuat hasil tersebut. Ini akan membutuhkan dua pertanyaan: pertama untuk menyisipkan data ke dalam tabel trigger-sp-trigger-palsu, dan yang kedua untuk SELECT dari tabel-hasil-sp palsu, yang bisa kosong, atau memiliki bidang pesan jika ada masalah .
sumber