我正在使用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已正确更新。