当前位置:首页 » 编程语言 » sql提交事物
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql提交事物

发布时间: 2022-01-13 10:00:15

㈠ 请问:提交一个事务采用的sql动词为

SQL的事务具有原子性,一个不可分割的整体,要么都提交,要么都失败。
您问到的提交的动词为:commit,以确认自己的更新;
而如果不想进行提交,可以用rollback进行回滚;
当然前提是对DML语句(数据操纵语言,如insert,update等),
对DDL(数据定义语言,如create等)是无效的,因为DDL语句包含commit的意思。
希望回答让您满意。

㈡ SQL中如何去事务提交之前的数据

修改前的数据在inserted表里,修改后的数据在deleted表里。。比如你修改了id字段,修改前的值为:select id from inserted 修改后的值为:select id from deleted
触发器的代码就自己去写好吧?

㈢ 关于SQL数据库事务的提交问题

如果第二种写法取得@@error值后仅仅执行不带附加选项的rollback操作的话,与第一种写法是没有什么区别的,都会回滚的事务的开始,也就是begin transaction开始的位置。
如果在rollback中指定了回滚到某个保存点,那么肯定就跟第一种写法有区别了。我们可以在事务执行某些操作后设置一个或多个保存点,这样就可以使事务回滚到指定的保存点,而不必全部回滚。

㈣ SQL事务

SQL中没有像 DELPHI 那样 TRY Finnal 的方式,通常都是这样写:

--判断表的存在性
If NOT Exists(select * from dbo.sysobjects where name='sysobjects')
--自定义错误号,说明表不存在。
Return -1

--执行查询
select * from table1

--有错误反回错误号
If @@Error<>0
Return @@Error

--正确反回0
Return 0

--补充回答
在Sql Server中,是没有象开发工具那种的容错处理,他有的只是判断对象的存在性及用事务来解决数据的完整性、一致性等等。但通用的做法都是在可能发生错误的地方设置错误处理或反回错误号,自定义的也可以。这样在程序里我们可以捕获错误号来进行相应的错误提示。

--补充回答
“多人同时访问时一旦某个事务永久锁定了一个表,那其它人都无法访问了”你说的这个问题是数据库对象锁定问题,跟你提问的问题有所区别,数据库对象锁定实质是由DBMS完成的,如果对象真的被锁定了的话,只有在对象被解锁以后才能对其进行操作,当然能进行什么样的操作也跟锁的类型及类度相关。开发者对对象进行加锁,也要分不同操作进行,操作完成后DBMS会自动解锁。
如果出现像你说的死所现像的话,DBMS是不能完成解锁功能的,只有人工进行处理了。

至于你提出的问题,你的想法是好的,但是DBMS都是通过提前判断来进行容错的,或者抛出错误号在程序中进行捕获处理。

㈤ 为什么只有一条sql语句时也要以事务的方式提交

事务是单个的工作单元。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据修改均被清除。
事务使用,可以提供一个机制,防止在执行过程中出错而之前正确的sql有影响了数据库的情况出现。

㈥ 关于sql中的事务回滚问题 ,就是commit 和 rollback的顺序问题

begin try 和 end try捕获产生的错误
然后在begin catch 和 end catch 块中使用rollback语句让事务回滚

你可以简单地先写个小例子试一下,体会下rollback的用法
比如:
begin tran
update table2 set b=10,c=10 where a=1
rollback tran
就会发现数据没有被更新

然后再结合begin try end try begin catch end catch的用法
就能实现在事务执行过程中出错后回滚的功能

大概的形式就是这样:
begin tran
begin try
--做相关操作
--结束的时候如果没有错误则用commit提交事务
commit tran
end try
begin catch
--出现错误的时候会跳转到这里
--用rollback回滚事务
rollback tran
end catch

㈦ sql server事务提交

select * from table with(holdlock);
with关键字来设置锁表的方式
TABLOCKX(排它表锁)

此选项被选中时,SQL Server 将在整个表上置排它锁直至该命令或事务结束。这将防止其他进程读取或修改表中的数据

你使用排它锁吧,TABLOCK锁其他进程还能读取数据但是不能修改,看你的意思连别的进程读取也不让,使用排它表锁吧.
JSP提交SQL语句的时候使用就可以

㈧ sql server 中的事务处理控制语句怎样进行实现提交一个事务

--开始一个事务Begin tran--提交一个事务Commit tran--回滚一个事务Rollback Tran

㈨ sql中什么是事务啊

事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。

事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。

(9)sql提交事物扩展阅读

事务类型

(1)手动事务

手动事务允许显式处理若干过程,这些过程包括:开始事务、控制事务边界内的每个连接和资源登记、确定事务结果(提交或中止)以及结束事务。

(2)自动事务

.NET 页、XML Web services方法或 .NET Framework 类一旦被标记为参与事务,它们将自动在事务范围内执行。您可以通过在页、XML Web services 方法或类中设置一个事务属性值来控制对象的事务行为。

㈩ 在SQL中怎样使用事务

SQL Server 需要显示的定义 开始一个事务.
BEGIN TRANSACTION;

例如:
1> BEGIN TRY
2> -- SQL Server 需要显示的定义 开始一个事务.
3> BEGIN TRANSACTION;
4> -- 插入2条同样的数据,使主键重复,引发错误后回滚事务.
5> INSERT INTO test_main(id, value) VALUES (4, 'FOUR');
6> INSERT INTO test_main(id, value) VALUES (4, 'FOUR');
7> -- 执行成功后,需要提交事务.
8> COMMIT;
9> END TRY
10> BEGIN CATCH
11> PRINT('Main.错误代码 = ' + STR(ERROR_NUMBER()));
12> PRINT('Main.错误严重级别 = ' + STR(ERROR_SEVERITY()));
13> PRINT('Main.错误状态代码 = ' + STR(ERROR_STATE()));
14> PRINT('Main.错误信息 = ' + ERROR_MESSAGE());
15> -- 回滚事务
16> ROLLBACK;
17> END CATCH
18>
19> go