Geeks With Blogs
Gaurav Taneja Great dreams... never even get out of the box. It takes an uncommon amount of guts to put your dreams on the line, to hold them up and say, "How good or how bad am I?" That's where courage comes in.

Begin
        Begin Tran           
    --Inserting values member details into ServGeneralUser Table
            Insert into ServGeneralUser(LoginName,Password,Email,Address1,Address2,City,State,OtherStateName,Country,Zip,SecretQuestion,SecretAnswer,Photograph,usertype,updationdate,TnC)
            values
            (@LoginName,@Password,@Email,@Address1,@Address2,@City,@State,@OtherState,@Country,@Zip,@SecretQuestion,@SecretAnswer,@Phototgraph,'A',getdate(),'Y')
           
    -- reteriving Currently Inserted Members User Id into local variable @userId
            select @userId=ident_current('ServGeneralUser');           
    --Inserting values member details into ServMemberDetails Table
            Insert into ServArtistDetails(Userid,ArtistName,Genre,SubGenre,OfficialWebsite,SignedForCompany,ProffesionalRepresentation,Motto,Influences)
            values
            (@userId,@ArtistName,@Genre,@SubGenre,@OffWebSite,@SignedForRecordCompany,@ProfessionalRepresentation,@Motto,@Influences)
                ----------------------------------------------------
                declare @Influence varchar(10)
                        Begin Tran   
                        set rowcount 0
                        select * into #mytemp from split(@Influences,',')           
                        set rowcount 1           
                        select @Influence = data from #mytemp                       
                        while @@rowcount <> 0
                            begin                 
                               set rowcount 0
                               delete #mytemp where data = @Influence
                               set rowcount 1
                                if(select count(artist_id_7d) from artist_7d where artist_id_7d=@Influence)<=0
                                Begin
                                    set @ErrorCode='ERR2013'
                                    ROLLBACK TRAN                                       
                                    select '0' as Result
                                    return   
                                End                                   
                               insert into ServArtistInfluences(UserId,ArtistInfluenceID)values(@userId,@Influence);                                                                                                 
                               SELECT @intErrorCode = @@ERROR
                               IF (@intErrorCode <> 0)
                               Begin
                                    set @ErrorCode=@intErrorCode                           
                                    --print 'error occured while inserting record'
                                    ROLLBACK TRAN
                                    select '0' as Result                       
                                    return
                               End
                               select @Influence = data from #mytemp
                            end                   
                        set rowcount 0
                        drop table #mytemp   
                        Commit Tran   
                        set @ErrorCode='0';
                        select '1' as Result
           
                -----------------------------------------------------
            set @ErrorCode='0';
           
            SELECT @intErrorCode = @@ERROR
            IF (@intErrorCode <> 0) GOTO PROBLEM

        COMMIT TRAN

        PROBLEM:
        IF (@intErrorCode <> 0) BEGIN   
            ROLLBACK TRAN
        END
    End

Posted on Sunday, April 6, 2008 11:45 PM SQL SERVER | Back to top


Comments on this post: Simple procedure using transaction

No comments posted yet.
Your comment:
 (will show your gravatar)


Copyright © Gaurav Taneja | Powered by: GeeksWithBlogs.net