Saya tahu Anda bertanya tentang SQL Server, tetapi di dunia Oracle (di masa lalu), tabel sementara memiliki biaya yang sangat tinggi, sehingga prosedur dan pemicu berbasis kursor lebih cepat dan lebih rendah "biaya" ke server. Dalam SQL Server, kursor dulunya memiliki biaya yang jauh lebih tinggi daripada temp tables, sehingga penulisan kode berbasis kursor tidak disarankan. Saya cukup yakin perbedaan ini telah dihilangkan dalam dekade terakhir.
Untuk mengatasi situasi ini, kebanyakan orang memiliki aturan umum untuk menghindari memasukkan logika bisnis ke dalam database. Jika Anda benar-benar dapat benar-benar selalu melakukan itu, maka tidak akan ada alasan untuk logika prosedural dalam T-SQL atau PL / SQL. Database relasional sangat bagus dalam logika berbasis set. Sebagian besar bahasa pemrograman modern sangat bagus dalam logika prosedural. Yang terbaik adalah menggunakan masing-masing untuk apa yang mereka kuasai.
Beberapa pemicu audit yang telah saya kerjakan memiliki aturan yang agak rumit untuk apa yang harus diperiksa, dan di mana segala sesuatu harus diperbarui / dicatat. Beberapa untuk menjaga agar sistem pelaporan tetap sinkron dengan sistem transaksional (itu bukan pilihan saya, tetapi mereka menginginkannya demikian). Beberapa untuk sistem formularium . Formularium adalah daftar obat-obatan, dan untuk setiap perusahaan asuransi, apa yang akan / tidak akan mereka bayar, dan jika diresepkan obat_X penggantian apa yang ditanggung oleh asuransi. Itu juga umum untuk kebijakan kelompok yang berbeda di perusahaan asuransi yang sama untuk membayar obat yang berbeda.