oftime999 发表于 2007-1-23 15:04:27

请教sql事务处理的问题

随便建一个表,字段以及数据自己编.循环往表里插入1000行数据,并通过事务判断,验证是否插入1000行,是提交,否回滚.
我的表名 books
books表结构如下:
id               int (自增长)
booknamevarchar(40)
price          int
descriptionvarchar(50)
amount      int


下面是我的代码可结果好像不对,请教
begin tran

declare @i int
set @i=1
while(@i<=1000)
begin
   insert into books(bookname,price,descriptions,amount)values('sdfd',rand()*100,'aa',rand()*100)
        set @i=@i+1
end

if (@@rowcount!=1000 )
begin
        print 'error'
        rollback tran
               
end
else
commit tran

海龙 发表于 2007-1-23 23:22:42

给你一个做参考:

declare @count int
begin tran TEST
   select @count=counts from testtable where testid=1
   update testtable set counts=@count+1
if (@@error >0) begin
   rollback tran TEST
   end else begin
   commit tran TEST
end
页: [1]
查看完整版本: 请教sql事务处理的问题