看看这样的事务怎么控制?

[复制链接]
查看11 | 回复2 | 2011-11-16 22:31:22 | 显示全部楼层 |阅读模式
create table tt(aa varchar(10) not null primary key, bb decimal(10));
create proc proc_xys_test
as
begin
insert tt values('test' , 2000) ;
insert tt values('test' , 2000) ;
end
execute proc_xys_test ;
为什么能插入一条,而我在oracle里不能插入,sql server的事务是怎么控制的,怎么控制,才能保证不插入,也就是作为一个整体!!
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
begin transaction
...
IF @@ERROR0 GOTO ErrHandler
...
comit transaction
return
ErrHandler:
rollback transaction
return
回复

使用道具 举报

千问 | 2011-11-16 22:31:22 | 显示全部楼层
的确是好用了,但是能不能改成象oracle那样, 在begin ....and 之间的本身就是一个事物,出错的话自动回滚!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行