数据库开发使用规范--SQL脚本规范

1.MySQL库中创建新表SQL,后面一定要带上新表赋查询权限的赋权语句,因为所有新建的库表qryuser用户默认无查询权限,需单独赋权。grant select on 库名.表名 to 'qryuser'@'%';

2.当给生产表添加新字段时,注意不要加default默认值,原因是给现有表添加带默认值的字段,非常慢,存在影响生产运行的巨大风险。

3.SQL注释要单独一行,不要加在SQL末尾,原因是容易报错。MySQL库注释用#加空格开头,Oracle库用--加空格开头。

4.SQL脚本中禁止使用commit。如有特殊要求请单独与dba沟通。

5.增删改SQL,必须在pm上标明每条SQL的更改数量。用于DBA核对执行后的数量是否一致,以及评估执行风险。

6.当SQL脚本执行时间很长时(超过5分钟),需在PM上标注说明,DBA可以把时间太长的SQL放置数据库后台执行。

7.Oracle数据库的SQL脚本,如果脚本中同时存在dml SQL(增删改)和ddl SQL(修改表结构,增加索引,执行函数等),一定要ddl 在前,dml 在后。如果dml和ddl SQL混着提,ddl前面的dml sql会自动提交,不能回滚了。如果不能ddl在前,建议dml SQL和ddl SQL分开两个脚本。

8.遇到有问题需退回的上线脚本,Oracle默认是dml操作可全部回滚,ddl自动提交;MySQL无法执行回滚操作,所以哪条SQL报错就修改重提就行了,其他的自动提交了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值