,事务和存储过程的区别?

用户投稿 33 0

关于“php_begintransaction”的问题,小编就整理了【2】个相关介绍“php_begintransaction”的解答:

事务和存储过程的区别?

事务中可以有存储过程 存储过程中也可以有事务 事务是一系列的对数据库的操作,这些操作包括存储过程,更改语句及其它操作。

开始语句是BEGIN TRANSACTION (事务开始),结束语句有两种,一个是ROLLBACK--回滚,一个是--commit提交事务的所有操作。

存储过程是实现一定功能的语句组成的程序段。可以包括事务,也可以在某事务当中。

这是一个包括一个事务处理过程的存储过程,并且在事务中也包括另一个存储过程的操作:

CREATTE PROCEDURE MYPROCEDURE AS BEGIN TRANSACTION--开始一个事务 UPDATE TABLENAME SET ABC='DEF' WHERE ......--操作 EXEC OTHERPROCEDURE '参数' --事务中包括的存储过程 IF @@ERROR>0--操作如果失败 BEGIN ROLLBACK TRANSACTION--回滚 RAISERROR('更改数据失败!

事务是指事情任务,存储过程是指存起来储备的过程。事务和存储过程有本质上区别,两词所表达的意思也迥然不同,要注意区分。比如事务,某人在单位里搞后勤,每天都有许多杂七杂八的事物要处理,忙得不亦乐乎。再说存储过程,大家都知道,有些药要冷藏,这就是它在存储过程中要注意的必须做到的。

什么是事务?事务有哪些特征?

事务是指是程序中一系列严密的逻辑操作,而且所有操作必须全部成功完成,否则在每个操作中所作的所有更改都会被撤消。可以通俗理解为:就是把多件事情当做一件事情来处理,好比大家同在一条船上,要活一起活,要完一起完 。

事物的特征:

原子性:操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态。

一致性:事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。

隔离性:隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。

持久性:当事务正确完成后,它对于数据的改变是永久性的。

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。 例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。 特性  事务是恢复和并发控制的基本单位。   事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。   原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。   一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。   隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。   持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

到此,以上就是小编对于“php_begintransaction”的问题就介绍到这了,希望介绍关于“php_begintransaction”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!