Sybase:在事务中临时表有问题

时间:2014-10-31 10:16:45

标签: sybase sybase-ase

我正在使用sybase 15.0或15.5来解决问题 我有两个程序:一个主程序和一个子程序 我在交易时调用子程序 我在子程序中使用临时表,不能在事务中创建它 所以我在主程序中创建临时表并在子程序中使用它 临时表仅用于子程序更新表 当我调用main过程时,表不是更新,但如果我只调用子过程(我之前创建临时表),则表是更新。我不知道麻烦在哪里。

有人有想法吗?

编辑:

create procedure MainProc
as
  create table #tmp1(...)
  create table #tmp2(...)
begin
  ...
  begin tran

    ...

    exec SubProc

    ...

  commit
end


--to compile SubProc
create #tmp1(...)
create #tmp2(...)

create procedure SubProc 
as
begin

insert into table1

insert into #tmp1
insert into #tmp2

update table1
from #tmp1,#tmp2

end

如果我呼叫Exec MainProc,则表1未更新。 但是如果我创建临时表并且调用exec SubProc table1已正确更新。

0 个答案:

没有答案