-
2020-03-27 18:58:20
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
很明显,他们的区别是:事务是保存在项目里的,存储过程是保存在数据库里的。
事务中编程语言(java,C++等),存储过程中只有SQL语言。更多相关内容 -
浅析SQL存储过程和事务处理
2020-09-10 18:39:41在Sql Server数据库的存储过程中如何使用事务来完成数据的批量操作呢?下面小编就详细的为大家介绍一下。需要的朋友可以过来参考参考 -
sql存储过程几个简单例子
2020-12-15 15:04:15sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解。 例1: create proc proc_... -
存储过程和事务区别
2019-03-12 14:31:41首先存储过程是一个sql语句集合,事务是指一件事序列化要么全做,要么都不要做,存储过程中可以有事务,事务中也可以有多个存储过程,存储过程方便了功能块的进行,事务保证了功能执行的完整性,但是存储过程不要...首先存储过程是一个sql语句集合,事务是指一件事序列化要么全做,要么都不要做,存储过程中可以有事务,事务中也可以有多个存储过程,存储过程方便了功能块的进行,事务保证了功能执行的完整性,但是存储过程不要后期维护,建议少用(考虑环境)
参考资料:https://ask.csdn.net/questions/274921事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
很明显,他们的区别是:事务是保存在项目里的,存储过程是保存在数据库里的。原文:https://blog.csdn.net/congbufawen/article/details/49151799
-
SpringMVC与Mybatis集合实现调用存储过程、事务控制实例
2020-09-01 07:06:05主要介绍了SpringMVC与Mybatis集合实现调用存储过程、事务控制实例,有需要的可以了解一下。 -
事务与存储过程以及两者的区别
2021-02-02 04:28:34一、事务1、事务简介:是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地...一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。2、事务语句:开始事物:B...一、事务
1、事务简介:
是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
2、事务语句:
开始事物:BEGIN TRANSACTION
回滚事务:ROLLBACK TRANSACTION
提交事物:COMMIT TRANSACTION
3、事务属性(ACID):
原子性
(Atomic)(Atomicity)
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。如果在事务处理的其中的一个环节出了问题,那么就执行回滚,回到事务执行之前的状态。
一致性
(Consistent)(Consistency)
事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
隔离性
(Insulation)(Isolation)
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为隔离性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务数,所以一些应用程序降低隔离级别以换取更大的吞吐量。
持久性
(Duration)(Durability)
事务commit之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
二、存储过程
1、存储过程(Stored Procedure):
是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
2、基本语法:
创建存储过程
create procedure sp_name
@[参数名] [类型],@[参数名] [类型]
as
begin
.........
end
以上格式还可以简写成:
create proc sp_name
@[参数名] [类型],@[参数名] [类型]
as
begin
.........
end
/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/
调用存储过程
1.基本语法:exec sp_name [参数名]
删除存储过程
1.基本语法:
drop procedure sp_name
2.注意事项
(1)不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
其他常用命令
1.show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name
显示某一个mysql存储过程的详细信息
3、exec sp_helptext sp_name
显示你这个sp_name这个对象创建文本
3、存储过程分类
a.系统存储过程
以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。
b.本地存储过程
用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。
c.临时存储过程
分为两种存储过程:
一是本地临时存储过程,以井字号(#)作为其名称的第一个字符,则该存储过程将成为一个存放在tempdb数据库中的本地临时存储过程,且只有创建它的用户才能执行它;
二是全局临时存储过程,以两个井字号(##)号开始,则该存储过程将成为一个存储在tempdb数据库中的全局临时存储过程,全局临时存储过程一旦创建,以后连接到服务器的任意用户都可以执行它,而且不需要特定的权限。
d.远程存储过程
在SQL Server2005中,远程存储过程(Remote Stored Procedures)是位于远程服务器上的存储过程,通常可以使用分布式查询和EXECUTE命令执行一个远程存储过程。
e.扩展存储过程
扩展存储过程(Extended Stored Procedures)是用户可以使用外部程序语言编写的存储过程,而且扩展存储过程的名称通常以xp_开头。
两者的区别(个人认为):
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位
存储过程是一组为了完成特定功能的sql语句集(或者自定义数据库操作命令集)
-
存储过程和事务
2020-06-03 09:58:21事务中可以有存储过程 存储过程中也可以有事务。 存储过程 一组为了完成特定功能的sql语句集,存储在数据库服务端,可以远程调用。 优点: 1、执行速度快 2、提高工作效率,实现简单,一般调用一两行代码就可以实现...事务中可以有存储过程 存储过程中也可以有事务。
存储过程
一组为了完成特定功能的sql语句集,存储在数据库服务端,可以远程调用。
优点:
1、执行速度快
2、提高工作效率,实现简单,一般调用一两行代码就可以实现。
3、规范程序设计,升级、维护方便。
4、提高系统安全性,只有设定用户才可以进行操作。
缺点:
没有遵循MVC模式。
事务
事务中的操作是一个整体,要么整体完成,要么整体不做。保证了数据的完整性。
四大特性:
1、原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
2、一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
3、隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆, 必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。
4、持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。 -
【数据库】视图 存储过程 触发器 事物
2016-05-25 17:19:48视频终于结束了,下面是对视频20集的总结,思维导图的思路首从...为了实现数据库操作的高效以及完整性,我么引入了视图,存储过程,触发器,事物等一系列的操作,下面就说一下我对视图,存储过程 触发器以及事物的理解 -
C# Ado.net实现读取SQLServer数据库存储过程列表及参数信息示例
2020-08-26 08:36:43主要介绍了C# Ado.net实现读取SQLServer数据库存储过程列表及参数信息,结合实例形式总结分析了C#针对SQLServer数据库存储过程及参数信息的各种常见操作技巧,需要的朋友可以参考下 -
oracle 存储过程自制事物处理
2018-05-07 17:06:01//(oracle 自制事物处理功能可用于记录日志,主程序的rollback操作,不会影响到自制事物处理过程的commit操作。) BEGIN NULL ; INSERT INTO R_DLLINFO_YD (ID, VER, SRC, DES, ERRORMSG ) VALUES ... -
SQLServer存储过程嵌套事物踩坑
2019-08-14 22:47:38SQLServer中存储过程嵌套,且两个存储过程均有事物的情况下,内层事物的回滚会导致外层事物管控失效,示例如下: 建表脚本 CREATE TABLE [dbo].[t1]( [id] [int] NOT NULL, CONSTRAINT [PK_t1] PRIMARY KEY ... -
MySQL存储过程提交事物后0影响行怎么处理?
2016-10-05 15:16:50我的存储过程写法如下 START TRANSACTION; # 执行插入数据操作 COMMIT; 结果返回了 0 row(s) affected 实际数据已经插入了 我期望能得到实际影响行数 -
SQL 存储过程 事物 原子性
2019-12-03 08:58:22转载一篇我猴子哥一篇好的SQL存储过程 事物处理的文章https://www.cnblogs.com/xiaoXuZhi/p/xyh_trans_conclude.html -
事物、存储过程及函数等(MySQL)
2021-03-03 20:25:25一、事物当数据库的引擎为innodb时,才能创建事物mysql 事物:要不一起成功,要不一起回滚,只有当commit的时候数据库的数据才会发生变动start transaction;--开启事务insert into wallet values(4,1000);--执行操作... -
Oracle存储过程中调用存储过程示例
2021-05-04 07:18:13SQL> CREATE OR REPLACE PROCEDURE CallHelloWorld1 ( 2 p_user VARCHAR2 3 ) AS 4 BEGIN 5 -- 调用存储过程的 存储过程 6 HelloWorld1(p_user); 7 END CallHelloWorld1; 8 / Procedure created. 执行 SQL> set ... -
pgsql存储过程介绍
2021-01-15 16:58:27虽然现在postgresql的使用率不错,但是现在关于它的教程还是很少,而教程中对于存储过程的讲解也不详细,今天就自己的使用经验说一说。创建存储过程很简单,create or replace function test(),当然,你如果这样写:... -
mysql 存储过程与事务
2020-11-09 14:30:49存储过程 定义 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中, 经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该... -
mysql学习7:MySQL数据库事物与存储过程
2018-06-12 15:59:17存储过程就是一条或多条SQL语句的集合,当对数据库进行一系列复杂操作时,存储过程可以将这些复杂操作封装成一个代码块,以便重复使用,大大减少数据库开发人员的工作量。 1. 创建存储过程 Create procedure sp_... -
Oracle存储过程中使用临时表
2012-09-04 11:34:00Oracle存储过程中使用临时表 会话级临时表 事务级临时表 -
PostgreSQL-存储过程(一)基础篇
2020-12-21 00:25:08存储过程其实就是函数,由一组 sql 语句组成,实现比较复杂的数据库操作;存储过程 是 存储在 数据库服务器 上的,用户可以像调用 sql 自带函数一样 调用存储过程语法解析CREATE [OR REPLACE] FUNCTIONfunction_name... -
(开启默认提交的)MYSQL存储过程的(事物,提交,回滚,调用子存储过程)
2020-11-11 16:01:29准备工作两个存储过程分别是NewTest和NewTest1 一张数据表 test111,数据很简单如图所示,每个例子的初始情况都是这样。 单个存储过程 1.回滚 单纯的一个存储过程NewTest,如果想要进行回滚或者提交操作的时候需要... -
存储过程和事务最大的区别哪,另外存在的意义?
2016-08-10 02:12:05如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题 -
mysql的存储过程会自动开启一个事务吗?
2021-01-19 02:13:02你选择了使用存储过程就可以不用再代码中开启事务,深度优化即将事务SQL在MYSQL端执行(存储过程)以下是类似的秒杀事务落地的存储过程-- 秒杀执行存储过程DELIMITER $$ -- ; 转换为 $$-- 定义存储过程 in 输入参数 ... -
Oracle存储过程异常
2021-01-28 10:41:14调用RAISE_APPLICATION_ERROR存储过程当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出。异常也可以通过RAISE语句抛出RAISE exception_name;显式抛出异常是程序员处理声明的异常的习惯用法... -
事务与存储过程的区别
2015-10-15 14:07:42事务与存储过程的概念,和他们之间的区别 -
sqlserver存储过程和触发器
2019-01-17 11:57:53存储过程的特点,触发器和存储过程的区别,触发器的优点,触发器的作用:实现由主键和外键所不能保证的复杂参照完整性和数据的一致性,它能够对数据库中的相关表进行级联修改,提高比CHECK约束更复杂的的数据完整性... -
在存储过程中添加事务
2018-08-20 19:12:03--创建一个存储过程 CREATE PROCEDURE ProcName AS BEGIN BEGIN TRY DECLARE @TranFlag INT --事务标志 0:新建事务 1:保存已经存在事务点 IF @@TRANCOUNT = 0 --事务个数为0,创建新事务 ... -
oracle高级语法(事物、函数、存储过程、触发器、异常)[参照].pdf
2021-10-11 05:24:49oracle高级语法(事物、函数、存储过程、触发器、异常)[参照].pdf -
Oracle 存储过程 中如何使用事务Transaction 自主事务 自治事务
2018-12-19 09:52:27Oracle基础 存储过程和事务 一、事务和存储过程 在存储过程中如何使用事务。当需要在存储过程中同时执行多条添加、修改、删除SQL语句时,为了保证数据完整性,我们需要使用事务。使用方式和在PL-SQL中非常相似,...