ed2k://%7Cfile%7Ccn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso%7C4662884352%7C1DB025218B01B48C6B76D6D88630F541%7C/

转自:http://www.maomao365.com/?p=5323

SQL Server 表的管理_关于事务的处理的详解(案例代码)

摘要:
下文主要讲述,如何禁止删除数据表中指定行数据

一、SQL 事务


1.1SQL 事务

  ●事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。

  ●事务实际上就是对数据库的一个或者多个更改。当你在某张表上创建更新或者删除记录的时,你就已经在使用事务了。控制事务以保证数据完整性,并对数据库错误做出处理,对数据库来说非常重要。

实践中,通常会将很多 SQL
查询组合在一起,并将其作为某个事务一部分来执行。

最近收到用户一个需求,禁止所有人删除”表A”中,ID
为1、2、3、4、5的系统默认数据,通过项目组同事仔细研究,我们得到一致的答案为:
在表上新增一个触发器,当删除数据ID为 1 2 3 4
5时候,直接弹出相应的错误,采用这种模式,可以限制所有端口的异常操作(程序
查询分析器),
具体实现方式,如下文所示:

1.2事务的属性:

事务具有以下四个标准属性,通常用缩略词 ACID 来表示:

  • 原子性:保证任务中的所有操作都执行完毕;否则,事务会在出现错误时终止,并回滚之前所有操作到原始状态。
  • 一致性:如果事务成功执行,则数据库的状态得到了进行了正确的转变。
  • 隔离性:保证不同的事务相互独立、透明地执行。
  • 持久性:即使出现系统故障,之前成功执行的事务的结果也会持久存在。

 

1.3事务控制:

有四个命令用于控制事务:

  • COMMIT:提交更改;
  • ROLLBACK:回滚更改;
  • SAVEPOINT:在事务内部创建一系列可以
    ROLLBACK 的还原点;
  • SET
    TRANSACTION:
    命名事务;

1.4COMMIT 命令:

COMMIT
命令用于保存事务对数据库所做的更改。

COMMIT 命令会将自上次
COMMIT 命令或者 ROLLBACK 命令执行以来所有的事务都保存到数据库中。

COMMIT
命令的语法如下所示:

COMMIT;

发表评论

电子邮件地址不会被公开。 必填项已用*标注