Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Gestione degli errori nelle funzioni definite dall'utente

Sembra che le UDF di SQL Server siano un po' limitate in questo (e in molti altri) modi.

Non puoi davvero fare molto al riguardo - è (per ora) proprio così. O puoi definire la tua UDF in modo da poter segnalare una condizione di errore per mezzo del suo valore di ritorno (es. restituendo NULL in caso di errore), oppure dovresti quasi ricorrere invece alla scrittura di una stored procedure, che può avere molta più gestione degli errori e consente RAISERROR e così via.

Quindi, o progetta la tua UDF in modo che non richieda una segnalazione specifica di condizioni di errore, oppure devi riprogettare il tuo approccio per utilizzare le procedure memorizzate (che possono avere più parametri OUTPUT e quindi possono anche restituire codice di errore insieme al tuo carico utile di dati, se necessario) o codice CLR gestito per le tue UDF.

Scusa, non ho un'idea migliore - per ora, temo che queste siano le tue opzioni - fai la tua scelta.

Marco