Это многозначная хранящаяся процедура параметра просто плохие практики?

StackOverflow https://stackoverflow.com/questions/3286487

Вопрос

У меня есть странное отвращение к прохождению нескольких параметров идентификатора для одной сохраненной процедуры.Например, это чувствует себя неправильно:

getmyObject (listoofids, indowparam1, indowparam2, ...)

Я понимаю, как это сделать (правильно, если я должен) .. Но я не чувствую, что должен это сделать.Я чувствую, что это побеждает целью «Получить элемент» хранимой процедуры / подпрограммы / подпрограммы.Я чувствую, что я должен построить мои SP для поддержки соответствующих параметров фильтра.Если у моего звонящего есть список идентификаторов, не должен ли они называть SP так много раз?

Помогите?

Это было полезно?

Решение

«Получить элемент по методике ID» должен никогда не возвращаться более одного объекта, потому что это делает абсолютно никакого языкового смысла.

"Получить элементы по IDS" Рутина?Конечно, если у вас есть приличный корпус для этого, и он будет часто использовать достаточно часто.

Но большую часть времени, да, вместо рутины возвращается несколько элементов по идентификатору, вы хотите подпрограмму, которая возвращает элементы на основе соответствующих приложений параметров фильтрации (например, «дать мне все транзакции с 8 января более чем на 10 долларов»).

Кстати, иногда диапазон идентификаторов (например, все между 5 и 10) является совершенно действительным набором фильтров!

Кстати, это не обязательно просто проблема MySQL или SQL-в общем.Почти любой тип API набора данных на DataSet на любом языке представит эти же вопросы дизайна, и их ответы обычно будут очень похожи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top