技术文档

SQL开发知识:关于SQL Server数据库触发器详解

前言 SQL Server触发器在非常有争议的主题。它们能以较低的成本提供便利,但经常被开发人员、DBA误用,导致性能瓶颈或维护性挑战。 本文简要回顾了触发器,并深入讨论了如何有效地使用触发器,以及何时触发器会使开发人员陷入难以逃脱的困境。 虽然本文中的所...

SQL开发知识:SQL Server 添加Delete操作回滚日志方式

我们在操作表的时候难免会遇到误删除,或者删掉的数据还想恢复的情况。 也许细心的朋友会用begin tran rollback/commit 这种事务来避免出现失误,但这并不是最保险的。 如果提交了事物发现删错了或者忘记提交从而导致表被锁,这些问题总是不可避...

SQL基础:SQL CASE 表达式的具体使用

总结 CASE 表达式分为简单表达式与搜索表达式,其中搜索表达式可以覆盖简单表达式的全部能力,我也建议只写搜索表达式,而不要写简单表达式。 简单表达式: SELECT CASE city WHEN ‘北京’ THEN 1 WHEN ...

MySQL数据库如何保证备份数据的一致性详解

前言 为了数据安全,数据库需要定期备份,这个大家都懂,然而数据库备份的时候,最怕写操作,因为这个最容易导致数据的不一致,松哥举一个简单的例子大家来看下: 假设在数据库备份期间,有用户下单了,那么可能会出现如下问题: 库存表扣库存。 备份库存表。 备份订单表...

教你如何处理Oracle锁表解决方法的详细不走

前言 锁表或锁超时相信大家都不陌生,经常发生在DML语句中,产生的原因就是数据库的独占式封锁机制,当执行DML语句时对表或行数据进行锁住,直到事务提交或回滚或者强制结束当前会话。 对于我们的应用系统而言锁表大概率会发生在SQL执行慢并且没有超时的地方(一条...