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

Search the boards