存储过程 PROCEDURE 里面用 TRAN 事务 表 A 记录 插入表 B

 

怎么在存储过程 PROCEDURE 里面用 TRAN 事务

下面是个例子 注意  

1:       problem 那里是一个冒号:

2:       两个地方都要有return  第一个return 没有的话会继续往下执行,  第二个return  没有的话 如果SQL出错,就会进入死循环;

其中这个语句的意思是:

INSERT INTO WordStock (KeyWord,Types)
 SELECT Keyword,Types FROM Records
  WHERE KeyTime <@KeyTime

把 Records表里面的记录插入  WordStock表

 

 

CREATE PROCEDURE Counts_Records_TO_WordStock
(
 @KeyTime DateTime   --  关键字键入时间
)

 AS
begin   TRAN
--从records表插入wordstock表
INSERT INTO WordStock (KeyWord,Types)
 SELECT Keyword,Types FROM Records
  WHERE KeyTime <@KeyTime

if   @@error   <>   0     goto   problem

--同时删除records表刚插入的记录
DELETE FROM Records WHERE KeyTime<@KeyTime

if   @@error   <>   0       goto   problem

COMMIT     TRAN

RETURN
 
problem:

ROLLBACK   TRAN

RETURN
GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值