base de données défensive code robuste avec témoin de programmation T-SQL?
-
04-10-2019 - |
Question
Dans le développement de l'application il y a un concept de programmation défensive. Comment mettre en œuvre des techniques de programmation défensives et l'écriture de code robuste utilisant Transact-SQL?
La solution
- Simple Discuter ...
- ... Livres
- centrale SQL Server
- Alexander Kuznetsov (qui est l'utilisateur SO AlexKuznetsov )
Plus généralement
- try..catch et le traitement des erreurs
- Sécurité Datatype (pas de numéro comparer à nvarchar par exemple)
- Comprendre les transactions
- Consider procédures stockées
- Comprendre l'injection SQL
Autres conseils
Pour ajouter à ce que Scott a dit:
- Utilisez try / catch qui est désormais pris en charge dans SQL Server
- Valider les paramètres de vos procédures et de l'utilisation RAISERROR quand les choses ne passent pas
- Utiliser des transactions (soigneusement)
IF EXISTS()
est quelque chose qui devrait être utilisé beaucoup plus souvent dans T-SQL, je pense. Un grand nombre de fois où les développeurs d'écrire du code SQL ils ne pensent pas en termes d'exceptions et des défauts comme ils le font lors de l'écriture du code régulier.
Examiner l'angle psychologique à votre question, vous pouvez trouver DBA Survival Skills -. Pensez Défensivement intéressant à lire
En plus de ce que tous les autres ont dit, respecter l'intégrité des données dans la base de données!