Posted By: OOK (Pure academic user) on 'CZdatabases'
Title:     Re: sybase: no transaction or savepoint of that name found
Date:      Thu Jun 29 16:57:46 2000

No je to celkem jasny ne ? DB-engine nemuze udelat rollback neuspesneho 
volani takove procedury :-)))

                   MK 


> 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