Tôi biết bạn đang hỏi về SQL Server, nhưng trong thế giới Oracle (trước đây), các bảng tạm thời có chi phí rất cao, vì vậy các quy trình và trình kích hoạt dựa trên con trỏ nhanh hơn và "chi phí" cho máy chủ. Trong SQL Server, các con trỏ được sử dụng có chi phí cao hơn nhiều so với các bảng tạm thời, do đó việc viết mã dựa trên con trỏ không được khuyến khích. Tôi khá chắc chắn rằng những khác biệt này đã được loại bỏ trong thập kỷ qua.
Để đối phó với những tình huống này, hầu hết mọi người đều có một quy tắc chung để tránh đưa logic kinh doanh vào cơ sở dữ liệu. Nếu bạn hoàn toàn có thể luôn luôn làm điều đó, thì sẽ không có bất kỳ lý do nào cho logic thủ tục trong cả T-SQL và PL / SQL. Cơ sở dữ liệu quan hệ là tuyệt vời ở logic dựa trên thiết lập. Hầu hết các ngôn ngữ lập trình hiện đại là tuyệt vời ở logic thủ tục. Tốt nhất là sử dụng mỗi người cho những gì họ giỏi.
Một số kích hoạt kiểm toán mà tôi đã làm việc có các quy tắc khá phức tạp đối với những gì phải được kiểm tra và nơi mọi thứ phải được cập nhật / ghi lại. Một số là để giữ cho các hệ thống báo cáo đồng bộ với các hệ thống giao dịch (đó không phải là lựa chọn của tôi, nhưng họ muốn nó theo cách đó). Một số là cho một hệ thống công thức . Danh mục thuốc là một danh sách các loại thuốc, và đối với mỗi công ty bảo hiểm, những gì họ sẽ / sẽ không bao gồm, và nếu được kê đơn thuốc_X thì những thay thế nào được bảo hiểm chi trả. Nó cũng phổ biến cho các chính sách nhóm khác nhau tại cùng một công ty bảo hiểm để trả cho các loại thuốc khác nhau.