用存储过程分开
而且要用分布式事务,把SQL的分布式事务协调器打开
Begin Distributed tran

解决方案 »

  1.   

    依然不可以。。
    create proc mtest
    as
    begin DISTRIBUTED tran 
    insert into LOC..SCOTT.TEST values('啊')
    if @@error<>0 
    rollback tran
    else
    commit tran
    godeclare @i int
    set @i=1
    while @i<5
    begin
    insert into LOC..SCOTT.TEST values(111)
    set @i=@i+1
    exec mtest
    print @@error
    insert into LOC..SCOTT.TEST values(222)
    end依然会终止当前事务。。后面的语句不执行
      

  2.   


    declare @i int
    set @i=1
    while @i<5
    begin
    begin DISTRIBUTED tran 
    insert into LOC..SCOTT.TEST values(111)
    set @i=@i+1
    insert into LOC..SCOTT.TEST values('啊')
    --print @@error
    insert into LOC..SCOTT.TEST values(222)
    commit tran
    end
      

  3.   

    这位大哥我想问你一下
    你如何在SQL数据库中查询ORACLE 数据库中某张表的一天的数据阿
    这样写对吗〉
    select * form openqury(ybuser,'select * from ybuser.dba01 where rq='20060102'')
    或是  select a.* form openqury(ybuser,'select * from ybuser.dba01 ') as a where a.rq='20060613'
    请这位大哥赐教!!