Domanda

Ho la strana avversione per passare a più parametri di ID su una singola procedura memorizzata.Ad esempio, questo mi sento semplicemente sbagliato:

GetMyObject (ListoFIDS, OtherParam1, OtherParam2, ...)

Capisco come farlo (correttamente se devo) .. Ma non mi sento come se dovessi farlo.Ho voglia di sconfiggere lo scopo di una procedura memorizzata "Get Item" / Sub Routine.Mi sento come se dovessi costruire i miei SP per supportare i parametri del filtro appropriati.Se il mio chiamante ha un elenco di IDS, non dovrebbero chiamare la SP che molte volte?

Aiuto?

È stato utile?

Soluzione

A "Get Item by ID" La routine non dovrebbe mai restituire più di un oggetto, perché ciò non rende assolutamente alcun senso linguistico.

A "Ottieni oggetti per IDS" di routine?Certo, se hai un caso di uso decente per questo e sarà usato abbastanza spesso.

Ma la maggior parte delle volte, sì, invece di una routine che restituisce più elementi mediante ID, si desidera una routine che restituisce gli articoli in base ai parametri di filtraggio appropriati dell'applicazione (ad es. "Dammi tutte le transazioni dall'8 gennaio per più di $ 10").

A proposito, a volte una gamma di ID (E.G. Tutto tra 5 e 10) è un set di filtri perfettamente valido!

Per inciso, questo non è necessariamente solo un problema mysql o sql-in generale.Quasi qualsiasi tipo di API di query per il set di dati in qualsiasi lingua presenterà queste stesse domande di progettazione, e le loro risposte saranno solitamente molto simili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top