Checking @@ROWCOUNT failingUsing SSIS to get record counts for tables that may not existHandling exceptions in stored procedures called using insert-exec blocksSQL 2005 Unused proceduresDuplicate records in primary key during big selectHandling exceptions with INSERT-EXEC with linked server stored proc and table resultsBulk insert and fast ordered search large data 3B+ recordsExpensive Insert Operation pause Other Insert OperationProblems with insert trigger and primary keyImplicit conversion causing error part of the timeINSERT/SELECT xml column from one table to another

Should a narrator ever describe things based on a character's view instead of facts?

Do people actually use the word "kaputt" in conversation?

How can a new country break out from a developed country without war?

"Oh no!" in Latin

What is the period/term used describe Giuseppe Arcimboldo's style of painting?

Not hide and seek

Has the laser at Magurele, Romania reached the tenth of the Sun power?

Can you take a "free object interaction" while incapacitated?

Reason why a kingside attack is not justified

If the Dominion rule using their Jem'Hadar troops, why is their life expectancy so low?

Did I make a mistake by ccing email to boss to others?

Why didn’t Eve recognize the little cockroach as a living organism?

Why doesn't Gödel's incompleteness theorem apply to false statements?

1 John in Luther’s Bibel

What's the meaning of "what it means for something to be something"?

Could a welfare state co-exist with mega corporations?

In the event of Brexit being postponed beyond the EU elections, will UK voters in EU countries be eligible to participate?

Checking @@ROWCOUNT failing

Are hand made posters acceptable in Academia?

What do the positive and negative (+/-) transmit and receive pins mean on Ethernet cables?

How do you say "Trust your struggle." in French?

A seasonal riddle

Mortal danger in mid-grade literature

PTIJ: Which Dr. Seuss books should one obtain?



Checking @@ROWCOUNT failing


Using SSIS to get record counts for tables that may not existHandling exceptions in stored procedures called using insert-exec blocksSQL 2005 Unused proceduresDuplicate records in primary key during big selectHandling exceptions with INSERT-EXEC with linked server stored proc and table resultsBulk insert and fast ordered search large data 3B+ recordsExpensive Insert Operation pause Other Insert OperationProblems with insert trigger and primary keyImplicit conversion causing error part of the timeINSERT/SELECT xml column from one table to another













1















I have a code similar to the one below in one of my SQL procedures,



declare @rowcount int

update table1
set value = @value
where id = @id

select @rowcount = @@ROWCOUNT

if ( @rowcount = 0 )
begin
insert into table1(id, value1,value2...)
select (@id, @value1, @value2...)
end


But it fails rarely, like once in a day etc. That means the data exists in the table and @@rowcount is 0 and it tried to insert data and primary key violation happening. Here all values which are inserting ie. id,value1,value2 etc are integers. Any thoughts?










share|improve this question







New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 5





    Have you tried wrapping this code inside a transaction? I'm wondering if some other process is sliding in between the update and the insert.

    – Scott Hodgin
    2 hours ago











  • There is no transaction. My proc is like below, create procedure my_procname AS BEGIN set nocount on -- sp code here as in the question end

    – blue
    2 hours ago















1















I have a code similar to the one below in one of my SQL procedures,



declare @rowcount int

update table1
set value = @value
where id = @id

select @rowcount = @@ROWCOUNT

if ( @rowcount = 0 )
begin
insert into table1(id, value1,value2...)
select (@id, @value1, @value2...)
end


But it fails rarely, like once in a day etc. That means the data exists in the table and @@rowcount is 0 and it tried to insert data and primary key violation happening. Here all values which are inserting ie. id,value1,value2 etc are integers. Any thoughts?










share|improve this question







New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 5





    Have you tried wrapping this code inside a transaction? I'm wondering if some other process is sliding in between the update and the insert.

    – Scott Hodgin
    2 hours ago











  • There is no transaction. My proc is like below, create procedure my_procname AS BEGIN set nocount on -- sp code here as in the question end

    – blue
    2 hours ago













1












1








1








I have a code similar to the one below in one of my SQL procedures,



declare @rowcount int

update table1
set value = @value
where id = @id

select @rowcount = @@ROWCOUNT

if ( @rowcount = 0 )
begin
insert into table1(id, value1,value2...)
select (@id, @value1, @value2...)
end


But it fails rarely, like once in a day etc. That means the data exists in the table and @@rowcount is 0 and it tried to insert data and primary key violation happening. Here all values which are inserting ie. id,value1,value2 etc are integers. Any thoughts?










share|improve this question







New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I have a code similar to the one below in one of my SQL procedures,



declare @rowcount int

update table1
set value = @value
where id = @id

select @rowcount = @@ROWCOUNT

if ( @rowcount = 0 )
begin
insert into table1(id, value1,value2...)
select (@id, @value1, @value2...)
end


But it fails rarely, like once in a day etc. That means the data exists in the table and @@rowcount is 0 and it tried to insert data and primary key violation happening. Here all values which are inserting ie. id,value1,value2 etc are integers. Any thoughts?







sql-server primary-key






share|improve this question







New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 3 hours ago









blueblue

1061




1061




New contributor




blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






blue is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 5





    Have you tried wrapping this code inside a transaction? I'm wondering if some other process is sliding in between the update and the insert.

    – Scott Hodgin
    2 hours ago











  • There is no transaction. My proc is like below, create procedure my_procname AS BEGIN set nocount on -- sp code here as in the question end

    – blue
    2 hours ago












  • 5





    Have you tried wrapping this code inside a transaction? I'm wondering if some other process is sliding in between the update and the insert.

    – Scott Hodgin
    2 hours ago











  • There is no transaction. My proc is like below, create procedure my_procname AS BEGIN set nocount on -- sp code here as in the question end

    – blue
    2 hours ago







5




5





Have you tried wrapping this code inside a transaction? I'm wondering if some other process is sliding in between the update and the insert.

– Scott Hodgin
2 hours ago





Have you tried wrapping this code inside a transaction? I'm wondering if some other process is sliding in between the update and the insert.

– Scott Hodgin
2 hours ago













There is no transaction. My proc is like below, create procedure my_procname AS BEGIN set nocount on -- sp code here as in the question end

– blue
2 hours ago





There is no transaction. My proc is like below, create procedure my_procname AS BEGIN set nocount on -- sp code here as in the question end

– blue
2 hours ago










1 Answer
1






active

oldest

votes


















5














I'm not sure why you're using a variable, but you need to protect multiple statements with a transaction. What's happening is two users are calling the procedure at the same time, both are getting rowcount = 0, and then they're both trying to insert as a result.



set transaction isolation level serializable;
begin transaction;

update dbo.table1
set value = @value
where id = @id;

if (@@ROWCOUNT = 0)
begin
insert dbo.table1(id, value1,value2...)
values(@id, @value1, @value2...);
end

commit transaction;





share|improve this answer






















    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "182"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );






    blue is a new contributor. Be nice, and check out our Code of Conduct.









    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232558%2fchecking-rowcount-failing%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5














    I'm not sure why you're using a variable, but you need to protect multiple statements with a transaction. What's happening is two users are calling the procedure at the same time, both are getting rowcount = 0, and then they're both trying to insert as a result.



    set transaction isolation level serializable;
    begin transaction;

    update dbo.table1
    set value = @value
    where id = @id;

    if (@@ROWCOUNT = 0)
    begin
    insert dbo.table1(id, value1,value2...)
    values(@id, @value1, @value2...);
    end

    commit transaction;





    share|improve this answer



























      5














      I'm not sure why you're using a variable, but you need to protect multiple statements with a transaction. What's happening is two users are calling the procedure at the same time, both are getting rowcount = 0, and then they're both trying to insert as a result.



      set transaction isolation level serializable;
      begin transaction;

      update dbo.table1
      set value = @value
      where id = @id;

      if (@@ROWCOUNT = 0)
      begin
      insert dbo.table1(id, value1,value2...)
      values(@id, @value1, @value2...);
      end

      commit transaction;





      share|improve this answer

























        5












        5








        5







        I'm not sure why you're using a variable, but you need to protect multiple statements with a transaction. What's happening is two users are calling the procedure at the same time, both are getting rowcount = 0, and then they're both trying to insert as a result.



        set transaction isolation level serializable;
        begin transaction;

        update dbo.table1
        set value = @value
        where id = @id;

        if (@@ROWCOUNT = 0)
        begin
        insert dbo.table1(id, value1,value2...)
        values(@id, @value1, @value2...);
        end

        commit transaction;





        share|improve this answer













        I'm not sure why you're using a variable, but you need to protect multiple statements with a transaction. What's happening is two users are calling the procedure at the same time, both are getting rowcount = 0, and then they're both trying to insert as a result.



        set transaction isolation level serializable;
        begin transaction;

        update dbo.table1
        set value = @value
        where id = @id;

        if (@@ROWCOUNT = 0)
        begin
        insert dbo.table1(id, value1,value2...)
        values(@id, @value1, @value2...);
        end

        commit transaction;






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 hours ago









        Aaron BertrandAaron Bertrand

        153k18294490




        153k18294490




















            blue is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            blue is a new contributor. Be nice, and check out our Code of Conduct.












            blue is a new contributor. Be nice, and check out our Code of Conduct.











            blue is a new contributor. Be nice, and check out our Code of Conduct.














            Thanks for contributing an answer to Database Administrators Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232558%2fchecking-rowcount-failing%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            acmart: Multiple authors: all with same affiliation, one author an additional affiliationHow to Write Names of Multiple Authors with Shared Affiliation in ACM 2017 Template?Multiple authors with different primary affiliation, but same additional affiliationSame affiliation for all authors without extra packagesIOS-Book-Article.cls: one author with multiple affiliationacmart: Shared Author AffiliationMultiple authors with different primary affiliation, but same additional affiliationAuthor affiliation with only 1 authorAdding Multiple Authors with Different Affiliation in LaTeX ArticleLaTeX: Multiple authors stays on same lineHow to Label Multiple Authors with Same DescriptionHow to make two authors use the same affiliationTwo authors with same affiliation on finished front page

            How to write “ä” and other umlauts and accented letters in bibliography?Accents in BibTeXSorting references with special characters alphabeticallyUse ae ligature in bibliographyEastern European nameInverted circumflex in BibTexBibTex, non-ascii initials and nameptr fproblems with accent in LatexHow to add a Ø to my bibliography from Jabref?References without accentsTroubles when trying to cite St“omer-Verlet in ”title" field of a bib entryComprehensive list of accented charactersHow to type the letter “i” with two dots (diaeresis) in math mode?Problem with glossary text and accented lettersSpecial character in bibliographyAccented letters, Unicode and LaTeX accentsHow to stop natbib from modifying bibliography styleCitation of a paper with non-standard characters by BibtexWrite accented characters to file using writeHow to group the bibliography alphabetically, if some surnames start with “accented” characters?How can I automatically capitalize significant words in my bibliography?

            Problem using RevTeX4-1 with “! Undefined control sequence. @bibitemShut”