Một trong những điểm khác biệt chính là liệu bạn có đang viết "một giao diện người dùng thực sự" hay cơ sở dữ liệu là phần trung tâm của đơn đăng ký của bạn.
Nếu bạn sắp có nhiều thủ tục lưu trữ, bạn sẽ cảm thấy rất có ý nghĩa bởi vì bạn giảm chi phí bảo trì. Nếu bạn đang viết chỉ một giao diện, thủ tục lưu trữ là một nỗi đau, bởi vì bạn mất nhiều sự linh hoạt trong việc thay đổi tập dữ liệu khi giao diện người dùng của bạn cần thay đổi, cộng với bây giờ bạn phải thực hiện bảo trì mã, kiểm soát phiên bản, v.v. . Cơ sở dữ liệu là một nỗi đau thực sự để giữ đồng bộ với kho mã.
Cuối cùng, nếu bạn đang mã hóa cho nhiều cơ sở dữ liệu (ví dụ như mã tương thích với Oracle và SQL), tôi sẽ tránh hoàn toàn các thủ tục được lưu trữ.
Bạn có thể trong một số trường hợp hiếm hoi, sau khi lược tả, xác định rằng một số quy trình được lưu trữ giới hạn có ích cho bạn. Tình trạng này đi lên con đường ít hơn những người nghĩ rằng nó.
Đây là BS. Không khó để kiểm soát phiên bản mã SQL so với mã C++. Theo nhiều cách, việc sửa đổi mọi thứ trong DB trở nên dễ dàng hơn nhiều; thay đổi một thủ tục lưu sẵn, và bạn đã hoàn thành, so với biên dịch lại và triển khai lại các thư viện và các tệp thực thi. – Joe