Кто-либо может объяснить, каково точное различие между хранимыми процедурами и определяемыми пользователем функциями, и в котором контексте каждый полезен?
Функция всегда возвращает значение, а может не выполнения операторов DML (INSERT / UPDATE / DELETE).
Сохраненная процедура не может вернуть значение - необходимо использовать параметр OUT - и может запустить операторы DML.
Помимо сравнения выше, они равны. Но учитывая сравнение, в зависимости от того, что вам нужно сделать, это вероятно, вы будете использовать сохраненную процедуру чаще, чем функция.
Sinkhole предприятия:
1: прочитайте, что доступ к базе данных должен быть на отдельном уровне
2: Эй, у нас есть уровень базы данных.
2 (b) Эй, у нас даже есть делегированный слой, чтобы абстрагироваться от нашей базы данных.
3: Примените закон утечек абстракций -i.e, так как в делегатах есть методы, которые получают вещи, просто предположим, что они там, чтобы использовать без мысли о последствиях - как в вызове «getPurchaseOrder ()» 10 раз подряд на странице, даже если getPurchaseOrder () является методом, который оборачивается 5 отдельных вызовов базы данных.
4: Сидите и наслаждайтесь своими веб-страницами, которые загружаются с 100 отдельными вызовами базы данных (к сожалению, не преувеличение).
Не уверен, что я бы назвал это антиобразцом? Может быть «Слои не свободны»?
-121--4294089-Есть ли у вас в настройках контекстный процессор мультимедиа?
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.media',
)
Вы также можете попытаться установить в настройках следующее:
TEMPLATE_DEBUG = True
-121--3427933- Определяемая пользователем функция имеет несколько ограничений, например, DML statements canbe use etc pls check