存储过程:
ALTER              PROCEDURE jiang  
@ID varchar(50),
@baoID int,
@jingjin float,
@dian varchar(50)
AS
declare @a int 
declare @b int 
declare @number varchar(100)
declare @dian_number varchar(100)
declare @ERR int
set @ERR=0
BEGIN TRANSACTION
SAVE TRANSACTION MyName
update xiaoshou set shenhe=1 where ID=@baoIDset @dian_number = @dianset @b=1 
while @b<=3
begin
set @dian_number = (select tjka_number from ka where ka_number=@dian_number)
if(@dian_number <> '0')
insert into jiangjine (ka_number,yingde) values (@dian_number,@jingjin)set @b=@b+1 end
set @number = @IDset @a=1 
while @a<=5
begin
set @number = (select tjka_number from ka where ka_number=@number)
if(@number <> '0')
insert into jiangjine (ka_number,yingde) values (@number,@jingjin)
set @a=@a+1 enddelete jiangjine where ka_number is  nullif  @@error<>0  
begin         ROLLBACK TRANSACTION MyName 
end出错了不知道什么原因:
服务器: 消息 266,级别 16,状态 2,过程 jiang,行 55
EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。
存储过程: #belivgold.dbo.jiang
返回代码 = 0