事务与游标

本文介绍了SQL中的事务和游标。事务具有原子性、一致性、隔离性和永久性的特性,用于确保数据库操作的完整性和一致性。通过示例展示了如何使用begin tran、commit tran和rollback tran进行事务管理,实现转账操作。而游标则提供了一种逐行处理结果集的能力,允许在结果集中定位、读取和修改数据。文中通过声明、打开、读取和关闭游标的操作步骤进行了详细解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018.09.13

星期四

1.事务

       定义:

       事务是由若干条T-SQL指令组成的作为单个逻辑工作单元执行的一系列操作,

       这些操作作为一个整体一起向系统提交,要么全  部执行完成,要么全部撤销。

       是一个不可分割的工作逻辑单元。

       特性:

       事务必须具备原子性,一致性,隔离性,永久性。

       模式:

       显示事务,隐式事务,自动提交事务。

       事例:

begin tran abc
declare @x int
set @x=0

update bank set currentmoney=currentmoney-100 where customername='张三'
set @x=@x+@@ERROR
update bank set currentmoney=currentmoney+100 where customername='李四'
set @x=@x+@@ERROR

if(@x=0)
begin
     commit tran
     print '转账成功!'
end
else
begin
     rollback tran
     print '转账失败!'
end

select * from bank

 

2.游标

  定义:

  游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

  功能:

  允许定位到结果集中的特定行;

  从结果集的当前位置检索一行或多行数据;

  支持对结果集中当前位置的行 进行修改。

  操作步骤:

--声明游标
declare yb cursor scroll
for select customername,currentmoney from bank
--打开游标
open yb
  --使用游标
    --声明变量
    declare @name varchar(10),@money money
    --读取游标的第一行
    fetch first from yb into @name,@money
    --循环
    while @@FETCH_STATUS=0
    begin
       print @name+'的余额为'+convert(varchar(10),@money)+'元'
       --读取游标的下一行
       fetch next from yb into @name,@money
    end
--关闭游标
close yb
--释放游标
deallocate yb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值