Вот аргумент для SP, которого я не слышал. Flamers, будьте осторожны с галочкой вниз,
Поскольку с каждой поездкой на сервер базы данных связаны накладные расходы, я бы предположил, что ВОЗМОЖНАЯ причина для размещения вашего SQL в SP вместо встроенного кода заключается в том, что вы более изолированы для изменений без снижения производительности.
Например. Допустим, вам нужно выполнить запрос A, который возвращает скалярное целое число.
Затем, позже требования меняются, и вы решаете, что результаты скаляра> x, что тогда, и только тогда вам нужно выполнить другой запрос. Если вы выполнили первый запрос в SP, вы могли легко проверить результат первого запроса и условно выполнить 2-й SQL в том же SP.
Как бы вы сделали это эффективно во встроенном SQL без выполнения отдельного или ненужного запроса?
Вот пример:
--This SP may return 1 or two queries.
SELECT @CustCount = COUNT(*) FROM CUSTOMER
IF @CustCount > 10
SELECT * FROM PRODUCT
Может ли это / каков наилучший способ сделать это во встроенном SQL?