SQL规则及建议

1、  数据库表中必须定义主键;

2、  数据库表中不建议定义外键;

3、  数据库中不允许定义事务名;

4、  事务操作过程要尽量小,只要不影响业务数据的完整性,必须将大事务拆分为多个小事务,直至不可拆分为止;

5、  在同一数据库中,所有事务更新多表的顺序必须保持一致;

6、 事务操作过程中不允许有交互,在前台代码中不允许将alert、messagebox、响应窗口等提示放在commit、rollback之前;

7、  在同一个事务中,从第一个UPDATE、INSERT、DELETE语句开始,直到Commit或Rollback为止,操作语句过程中不允许存在其他的查询、计算语句;

8、  在同一存储过程中,不允许事务嵌套;

9、  在同一存储过程中不允许多次begin tran;

10、在存储过程中,如果事务过程中出现rollback,不允许再执行该事务下的其他操作语句;commit和rollback必须做为一个事务的终结;

11、存储过程嵌套存储过程时,被嵌套的存储过程中不允许存在begintran;

12、前台代码中使用存储过程,不允许将commit、rollback放在CLOSE proc之前;

13、前台代码中使用存储过程,调用结束后必须紧跟commit、rollback结束当前事务;

14、尽可能少的使用触发器;在触发器中,不允许使用DDL语句(create、alter、drop)和commit、rollback语句;

15、数据库中数据量较大的操作不允许使用游标;

16、业务表查询语句一定要有范围的限定,避免全表扫描操作;

17、视图嵌套使用不能超过3层;

18、不允许使用没有意义的列作为聚集索引列,例如idendity加1自增列;

19、不允许隐式类型转换,例如字符型一定要用’’,数字型一定不要使用’’;

20、大小写规范统一,变量绑定统一,避免重复编译;

21、不允许使用*=、=*等连接符号,SQL2005、2008不再支持;

22、除非做复制表的操作,其他不允许使用select * 语句;

23、不允许使用count(*)来判断是否存在记录,请使用exists或top 1;

24、不允许使用count(*)来统计表记录行数,请使用count(1);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值