AlterEgo Creative Commons License 2007.03.08 0 0 219

Sikerült megoldanom (hamarabb kellett volna agyalnom)

 

create procedure bizszam_gener
  @biztomb char(6),
  @sor_id int,
  @fej_id int
as
declare @ujsorszam int
declare @bt_sor int
declare @bs_sor int
declare @bf_sor int
begin transaction
   update biztomb set f_ussz = f_ussz + 1 where f_biztomb = @biztomb AND f_ussz < f_vssz
   select @bt_sor=@@ROWCOUNT
   if @bt_sor=1
   begin
      select @ujsorszam = f_ussz from biztomb where f_biztomb = @biztomb
      update gn_bsor set f_beszam=right('00000'+ltrim(str(@ujsorszam,5,0)),5) where ForrasID=@sor_id
      select @bs_sor=@@ROWCOUNT
      if @bs_sor=1
      begin
         update gn_tfej set f_allapot='F' where ForrasID=@fej_id
         select @bf_sor=@@ROWCOUNT
      end
      else
      begin
         select @bf_sor=0
      end
   end
   else
   begin
      select @bs_sor=0
      select @bf_sor=0
   end
   if @bt_sor<>1 or @bs_sor<>1 or @bf_sor<>1
   begin
      rollback transaction
      return (1)
   end
   commit transaction
return (0)