Sto creando una stored procedure che sta registrando alcuni dati. Alla fine i dati devono finire in 2 tavoli. I dati in arrivo provengono da una stringa JSON contenente 15 parametri e i dati vengono quindi registrati nel database utilizzando la stored procedure che sto scrivendo. Vorrei inviare i dati in una procedura memorizzata e inserirli in entrambe le tabelle.
La prima tabella è una tabella di registrazione dei dati non elaborati. Sarà usato per il debug e la risoluzione dei problemi.
La seconda tabella verrà utilizzata per la generazione di report. Questa tabella richiede alcuni semplici calcoli matematici da eseguire sui dati in entrata. Ad esempio:
DECLARE @Table2Fld3 DECIMAL = @IncomingFld9 - @IncomingFld4;
Avrò a disposizione circa 8 di questi calcoli per calcolare i valori per la tabella 2, quindi eseguirò un INSERT per salvare i dati.
Quindi la mia domanda è, è una buona pratica fare questi calcoli nel T-SQL? O sarebbe meglio per me creare 2 stored procedure separate e fare i calcoli nel mio codice?
Un trade-off che vedo è che se faccio tutto nel codice allora devo creare 2 connessioni al database.
Modifica
Dovrei approfondire il commento sul "2 database connections". L'applicazione in questione è un servizio Windows che stabilisce comunicazioni server / client multi-thread. Il sistema di registrazione è asincrono rispetto alla comunicazione server / client. Usando quel sistema esistente, per poter scegliere come target più stored procedure, sarebbero necessarie 2 chiamate al registratore che collegherebbero 2 connessioni al database.