高手帮小弟分析一个带事务的存储过程?
CREATE PROCEDURE p_set_time_send
AS
begin
SET XACT_ABORT ON
begin tran zhuanyidingshifasong
insert into tb_queue_list select * from tb_set_time_msg where send_time <= getdate()
delete from tb_set_time_msg where send_time <= getdate()
commit tran zhuanyidingshifasong
end
go
请大家帮我分析一下我写的这个带事务的存储过程有没有问题.
这个存储过程的功能:从一个表中把满足一定时间的数据,写到另一个表中.并把刚才满足条件的数据清空.
现在小弟有一点不明,请指点.就是通过insert into tb_queue_list select * from tb_set_time_msg where send_time <= getdate()写入的数据,会不会通过delete from tb_set_time_msg where send_time <= getdate()删除的数据不一样多.
会不会出现:在删除前又有满足条件的数据写入 tb_set_time_msg ,但这些数据没有被写入tb_queue_list. 说明 tb_queue_list,tb_set_time_msg结构一样.