Posted By: Koles (...) on 'CZdatabases'
Title: sybase: no transaction or savepoint of that name found
Date: Thu Jun 29 12:47:49 2000
asi mi neco unika.
muzete mi prosim nekdo objasnit, proc nasledujici procedura
pri chybe (vetsinou vkladani duplicitnich zaznamu do tabulky
s unikatnim klicem) zahlasi ponekud neprijemne:
Cannot rollback tr_build_c - no transaction or savepoint of that name found.
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRAN is
missing.
?
dik
procedura (pro snazsi citelnost vyhazuju detaily u dotazsu)
create proc build_topic_children(@parent_id numeric(7,0))
as
begin
declare @deep int,
@forever int,
@rc int
select @rc = 0
begin tran tr_build_c
NEJAKY INSERT
if @@error != 0
begin
rollback tran tr_build_c
return -1
end
select @forever = 1
select @deep = 1
while @forever = 1
begin
DALSI INSERT
if @@error != 0
begin
-- pokud jsem rollbackoval primo zde, blblo to stejne
select @rc = -2
break
end
JESTE JEDEN INSERT
if @@error != 0
begin
select @rc = -3
break
end
if @@rowcount = 0
break
end
if @rc = 0
commit tran tr_build_c
else
rollback tran tr_build_c
return @rc
end
-- dik
--
-- pavel