Click here to Skip to main content
15,921,793 members
Home / Discussions / Database
   

Database

 
QuestionCross Join Pin
Meysam Mahfouzi5-Nov-08 19:59
Meysam Mahfouzi5-Nov-08 19:59 
AnswerRe: Cross Join Pin
Wendelius6-Nov-08 7:53
mentorWendelius6-Nov-08 7:53 
Questioninsert_update Stored procedure and return Identity value Pin
wajans5-Nov-08 18:35
wajans5-Nov-08 18:35 
AnswerRe: insert_update Stored procedure and return Identity value Pin
Ashfield5-Nov-08 21:11
Ashfield5-Nov-08 21:11 
AnswerRe: insert_update Stored procedure and return Identity value Pin
wajans6-Nov-08 1:12
wajans6-Nov-08 1:12 
AnswerRe: insert_update Stored procedure and return Identity value Pin
Ben Fair7-Nov-08 2:17
Ben Fair7-Nov-08 2:17 
GeneralRe: insert_update Stored procedure and return Identity value Pin
wajans7-Nov-08 2:55
wajans7-Nov-08 2:55 
QuestionAtomic Sql Statements (Transaction) Pin
Meysam Mahfouzi5-Nov-08 4:41
Meysam Mahfouzi5-Nov-08 4:41 
I read an article here[^] describing how to perform SQL operations in an atomic manner using transactions. I just do not understand what the usage of a transaction is in the following example (I didn't ask my question below that article because the author has not answered asked questions).

CREATE PROCEDURE addTitle(@title_id VARCHAR(6), @au_id VARCHAR(11),
                          @title VARCHAR(20), @title_type CHAR(12))
AS

BEGIN TRAN
    INSERT titles(title_id, title, type)
    VALUES (@title_id, @title, @title_type)

    IF (@@ERROR <> 0) GOTO ERR_HANDLER

    INSERT titleauthor(au_id, title_id)
    VALUES (@au_id, @title_id)

    IF (@@ERROR <> 0) GOTO ERR_HANDLER

COMMIT TRAN

RETURN 0

ERR_HANDLER:
PRINT 'Unexpected error occurred!'
ROLLBACK TRAN
RETURN 1


My question is, if the the first insert statement failed, why do we need to roll back it? No insertion to database happened, therefore we do not need to rollback anything! If I'm right, what's the problem with the following sproc:

CREATE PROCEDURE addTitle(@title_id VARCHAR(6), @au_id VARCHAR(11),
                          @title VARCHAR(20), @title_type CHAR(12))
AS


    INSERT titles(title_id, title, type)
    VALUES (@title_id, @title, @title_type)

    IF (@@ERROR <> 0) GOTO ERR_HANDLER

    INSERT titleauthor(au_id, title_id)
    VALUES (@au_id, @title_id)

    IF (@@ERROR <> 0) GOTO ERR_HANDLER

    RETURN 0

ERR_HANDLER:
RETURN 1

AnswerRe: Atomic Sql Statements (Transaction) Pin
J4amieC5-Nov-08 4:46
J4amieC5-Nov-08 4:46 
GeneralRe: Atomic Sql Statements (Transaction) Pin
Meysam Mahfouzi5-Nov-08 4:50
Meysam Mahfouzi5-Nov-08 4:50 
AnswerRe: Atomic Sql Statements (Transaction) Pin
Meysam Mahfouzi5-Nov-08 4:48
Meysam Mahfouzi5-Nov-08 4:48 
AnswerRe: Atomic Sql Statements (Transaction) Pin
Wendelius5-Nov-08 8:04
mentorWendelius5-Nov-08 8:04 
GeneralRe: Atomic Sql Statements (Transaction) Pin
PIEBALDconsult5-Nov-08 13:33
mvePIEBALDconsult5-Nov-08 13:33 
GeneralRe: Atomic Sql Statements (Transaction) Pin
Wendelius6-Nov-08 7:39
mentorWendelius6-Nov-08 7:39 
GeneralRe: Atomic Sql Statements (Transaction) Pin
PIEBALDconsult6-Nov-08 11:27
mvePIEBALDconsult6-Nov-08 11:27 
GeneralRe: Atomic Sql Statements (Transaction) Pin
Wendelius7-Nov-08 6:36
mentorWendelius7-Nov-08 6:36 
Questionsql server 2005 query xml datatype fields Pin
arkiboys5-Nov-08 2:55
arkiboys5-Nov-08 2:55 
AnswerRe: sql server 2005 query xml datatype fields Pin
Wendelius5-Nov-08 10:33
mentorWendelius5-Nov-08 10:33 
GeneralRe: sql server 2005 query xml datatype fields Pin
arkiboys5-Nov-08 10:54
arkiboys5-Nov-08 10:54 
GeneralRe: sql server 2005 query xml datatype fields Pin
Wendelius5-Nov-08 11:13
mentorWendelius5-Nov-08 11:13 
GeneralRe: sql server 2005 query xml datatype fields Pin
arkiboys6-Nov-08 1:50
arkiboys6-Nov-08 1:50 
GeneralRe: sql server 2005 query xml datatype fields Pin
Wendelius6-Nov-08 7:06
mentorWendelius6-Nov-08 7:06 
Questiontransfering data fro one table to another Pin
prasadbuddhika5-Nov-08 1:07
prasadbuddhika5-Nov-08 1:07 
AnswerRe: transfering data fro one table to another Pin
Ashfield5-Nov-08 1:34
Ashfield5-Nov-08 1:34 
GeneralRe: transfering data fro one table to another Pin
prasadbuddhika5-Nov-08 16:08
prasadbuddhika5-Nov-08 16:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.