database di Defensive programming- codice robusto con T-SQL?
-
04-10-2019 - |
Domanda
Nel sviluppo delle applicazioni c'è un concetto di programmazione difensiva. Come implementare le tecniche di programmazione di difesa e la scrittura di codice robusto utilizzando Transact-SQL?
Soluzione
- semplice conversazione ...
- ... libri
- SQL Server Central
- Alexander Kuznetsov (che è facile da SO AlexKuznetsov )
Più in generale
- try..catch e la gestione degli errori
- Tipo di dati di sicurezza (nessun numero confrontare con nvarchar per esempio)
- Comprendere le transazioni
- considerare le stored procedure
- Comprendere SQL injection
Altri suggerimenti
Per aggiungere a quello che ha detto Scott:
- Usa try / catch, che è ora supportata in SQL Server
- Convalida i parametri delle vostre procedure e l'uso RAISERROR quando le cose non passano
- utilizzare le transazioni (con attenzione)
IF EXISTS()
è qualcosa che dovrebbe essere usato molto più spesso in T-SQL credo. Un sacco di volte in cui gli sviluppatori a scrivere codice SQL non pensano in termini di eccezioni e anomalie come fanno quando si scrive codice regolare.
Per considerare il punto di vista psicologico alla tua domanda, è possibile trovare DBA Survival Skills -. Pensate in difesa di essere una lettura interessante
In aggiunta a ciò che tutti gli altri hanno detto, far rispettare l'integrità dei dati nel database!