Di recente mi sono unito a un'azienda e ho appena notato che molte delle procedure memorizzate hanno la stessa sezione di codice ripetuta dappertutto. Ho notato che mi è stato assegnato il compito di modificare una piccola sezione di quel codice in ogni SP che si è verificato :)
È un pezzo abbastanza pesante di codice, circa 30 righe. Il codice fa parte di un'istruzione insert e fondamentalmente unisce 4 tabelle con WHERE/AND
condizioni che in realtà non cambiano da SP a SP. Sembra simile al seguente:
...
...
FROM <TableOne>
INNER JOIN <TableTwo> ON ...
AND .....
AND .....
LEFT JOIN <TableThree> ON ...
AND .....
AND .....
WHERE .....
AND .....
AND .....
AND MedicalPlanCode IN ('abc', 'def', 'ghi')
L'unica parte che cambia da SP a SP sono i valori ( 'abc', 'def', 'ghi' )
Possono esserci anche quantità diverse di tali valori, quindi alcuni SP avranno 2 valori, altri ne avranno 5, ecc.
Tutto ciò che penso cambia quella sezione di codice in SQL dinamico e non sono sicuro che ne valga la pena. Tuttavia, il programmatore in me odia questa situazione.
Dovrei provare a implementare una qualche forma di riutilizzo del codice? Avrebbe un ROI? Quali sono le mie opzioni? Ho dovuto passare attraverso ~ 100 stored procedure, che hanno richiesto circa un'ora.
I 100 SP sono distribuiti su circa 20 database diversi. Ho i permessi per creare una vista.