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

Reasons for having MCU pin-states default to pull-up/down out of reset

Taking the numerator and the denominator

Showing mass murder in a kid's book

Get top 1 row value from third table while joining 3 tables mssql

Trouble reading roman numeral notation with flats

How to test the sharpness of a knife?

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

python displays `n` instead of breaking a line

Does capillary rise violate hydrostatic paradox?

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

Highest stage count that are used one right after the other?

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

How do I lift the insulation blower into the attic?

I keep switching characters, how do I stop?

How can I, as DM, avoid the Conga Line of Death occurring when implementing some form of flanking rule?

Could a welfare state co-exist with mega corporations?

"Marked down as someone wanting to sell shares." What does that mean?

Why didn't Voldemort know what Grindelwald looked like?

Why does the frost depth increase when the surface temperature warms up?

What properties make a magic weapon befit a Rogue more than a DEX-based Fighter?

Do native speakers use "ultima" and "proxima" frequently in spoken English?

Derivative of an interpolated function

What is the tangent at a sharp point on a curve?

Why do Radio Buttons not fill the entire outer circle?



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 2 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 1 hour 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

            Isabella Eugénie Boyer Biographie | Références | Menu de navigationmodifiermodifier le codeComparator to Compute the Relative Value of a U.S. Dollar Amount – 1774 to Present.

            Join wedge with single bond in chemfigHow to make only one part of double bond bold with chemfig?Crossing bonds in chemfigjoining atoms in chemfig. Two adjacent molculesHow do I selectively change bond length in chemfig?Ugly bond joints in chemfigchemfig: reaction above arrowUsing the mhchem and chemfig packages in conjunctionBonding to specific element letter using chemfigResonance hybrids in chemfigScale chemfig molecule in beamer with tikzWhy does this chemfig bond with a hook start in the middle of the atom?

            Are small insurances worth itIs insurance worth it if you can afford to replace the item? If not, when is it?Is accident insurance worth it for my kids who play sportsIs insuring property for more than it is worth allowed?At what point does it become worth it to file an insurance claim?Are wage loss insurance programs worth the cost compared to having an emergency fund?When is an event worth insuring against?Is insurance worth it if you can afford to replace the item? If not, when is it?FHA loan just commenced : Any way to get any of the up-front mortgage insurance back?Which types of insurances do I need to buy?Should I carry less renter's insurance if I can self-insure?Mortgage Adviser Signed Me Up For Multiple Home and Life Insurances (UK)Why many travel insurances don't cover country of nationality?