关于存储过程与事务

我的理解是:两者都是多条SQL语句构成,但是根本区别是存储过程可以被部分执行而事务必须全部执行或是不执行?

这两个概念可以说是两个范畴的概念,事务是数据库操作范畴的概念,保证数据库数据的完整性和一致性;存储过程是高级程序设计中模块化设计思想的重要内容。

事务是包含一组修改(插入、更新和删除)的工作的逻辑单位。事务的操作要么被保存到数据库commit,要么回滚rollback,事务中的所有修改要么全部提交,要么什么也不做,这样保证了数据库中数据的完整性和一致性。

数据库操作中为了完成一个完整的数据库任务,从而引进高级程序的设计要素。过程就是高级程序设计语言中的模块概念,将一些内部联系的命令组成一个个过程,通过参数在过程间传递数据来完成一个完整的数据库任务,这就是模块化设计思想的重要内容。

有的时候可以把一个过程看作一个事务,但是有的过程运行过程中因为满足某些条件而从过程中跳出,这时就不能把过程看作事务;反之,一个事务可能是一个过程,也可能一个事务中包含对一个或多个过程的调用。

二者概念所述的范畴不同,在数据库中,是相互联系相互区别的;而且两者都是具体的,不是抽象的,因为都可以拿出一段代码,说它是事务或是存储过程。

以上是个人理解,希望对你有所帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
不对,是两个概念,存储过程是完成一定功能的可重复调用的程序。
即,存储过程是程序。
事务是可以整个撤消的一段操作,可能是一个或几个或部份的存储过程,也可能是一条或几条指令,事务是记录的一系列的操作和变化。本回答被提问者采纳
第2个回答  2008-01-28
事务是要看成一个整体(原子性)要不这件事就全不做,要么就全都做,而存储过程就相当于程序语言里的函数,方便调用,这就是我的理解
第3个回答  2008-01-29
存储过程是具体的,多语句组成的一个过程,和程序里的函数差不多

事务是抽象的概念,就是把一件事分成几个步骤,设置一个点,回滚就是回到前面的一个点
第4个回答  2008-01-29
你只说对了一部分

他们是配合使用的 如果只是用存储过程的话 那他则将执行成功的写入数据库 而将失败的抛弃不管 那样就与普通Sql语句没有区别了

事务是保证成功执行的必要条件 要么就执行全部 要么就回滚