防御性数据库编程——使用 T-SQL 编写健壮的代码?
-
04-10-2019 - |
题
在应用程序开发中,有一个防御性编程的概念。如何使用 Transact-SQL 实施防御性编程技术并编写健壮的代码?
解决方案
- 简单说话...
- ...图书
- SQL Server Central
- 亚历山大·库兹尼托夫(Alexander Kuznetsov) (谁是用户 Alexkuznetsov)
更普遍
- 理解 尝试..捕获和错误处理
- 数据类型安全性(例如,与NVARCHAR相比,没有数字比较)
- 了解交易
- 考虑存储程序
- 了解SQL注入
其他提示
为了增加斯科特所说的话:
- 使用现在在SQL Server中支持的尝试 /捕获
- 验证您的过程的参数,并在情况不通过时使用raiserror
- 使用交易(仔细)
IF EXISTS()
我认为应该在T-SQL中更经常使用的东西。很多时候,当开发人员编写SQL代码时,他们不会像编写常规代码时那样在例外和故障方面考虑。
要考虑你的问题的心理学角度,你可能会发现 DBA 生存技能——防御性思考 成为有趣的阅读者。
除其他所有人所说的话外,还在数据库中执行数据完整性!
不隶属于 StackOverflow