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

What is this high flying aircraft over Pennsylvania?

Would this string work as string?

How to preserve electronics (computers, ipads, phones) for hundreds of years?

"Oh no!" in Latin

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

Can creatures abilities target that creature itself?

Offset in split text content

Magnifying glass in hyperbolic space

Hashing password to increase entropy

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

What is the purpose of using a decision tree?

Air travel with refrigerated insulin

Strange behavior in TikZ draw command

How would a solely written language work mechanically

How do I lift the insulation blower into the attic?

A seasonal riddle

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

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

How are passwords stolen from companies if they only store hashes?

What should be the ideal length of sentences in a blog post for ease of reading?

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

Calculate Pi using Monte Carlo

Control width of columns in a tabular environment

Writing in a Christian voice



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
    3 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
    3 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
    3 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
    3 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
    3 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
    3 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
    3 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
    3 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
3 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
3 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
3 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
3 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

            Are there any comparative studies done between Ashtavakra Gita and Buddhim?How is it wrong to believe that a self exists, or that it doesn't?Can you criticise or improve Ven. Bodhi's description of MahayanaWas the doctrine of 'Anatta', accepted as doctrine by modern Buddhism, actually taught by the Buddha?Relationship between Buddhism, Hinduism and Yoga?Comparison of Nirvana, Tao and Brahman/AtmaIs there a distinction between “ego identity” and “craving/hating”?Are there many differences between Taoism and Buddhism?Loss of “faith” in buddhismSimilarity between creation in Abrahamic religions and beginning of life in Earth mentioned Agganna Sutta?Are there studies about the difference between meditating in the morning versus in the evening?Can one follow Hinduism and Buddhism at the same time?Are there any prohibitions on participating in other religion's practices?Psychology of 'flow'

            fallocate: fallocate failed: Text file busy in Ubuntu 17.04? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)defragmenting and increasing performance of old lubuntu system with swap partitionIssue with increasing the root partition from the swapthis /usr/bin/dpkg returned error || ubuntu-16.04, 64bitDefault 17.04 swap file locationHow to Resize Ubuntu 17.04 Zesty Swap file size?Ubuntu freezes from online formsMy Laptop is not starting after upgrade ubuntu 16.04 (Kernel 4.8.0-38 to 04.10.0-36)hcp: ERROR: FALLOCATE FAILED!Not sure my swap is being usedWine 3.0 asking for more virtual free swap

            Where is the suspend/hibernate button in GNOME Shell? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)No suspend option in UI on Bionic BeaverHow can I set sleep mode in ubuntu18.04 LTS and what is the short cut key to do so?17.10 suspend not availableUbuntu 18.04 LTS missing sleep optionUbuntu 18.04 LTS - missing suspend option when power button is pressedHow to put Thinkpad X1 Extreme to sleep in Ubuntu 18.10?Suspend Button in interactive power button menu18.04 - Keep programs running after logging outway to disable Hibernate from within gconf-editor so button disappears?How can I hibernate from GNOME Shell?How can I hibernate/suspend from the command line and do so at a specific timeNo permission to suspend/hibernate after upgrading to 12.10MATE - Missing Suspend and Hibernate buttons, pressing power button shutdowns system immediatelyUbuntu 14.04: Suspend, Hibernate and Suspend-hybrid in the menu?Change “power-button-action” comand for “hibernate” option in GNOME 3.18Shutdown / Power off button does always go to suspend on 17.10Hibernate after suspend stopped working in 17.10Why doesn't the keyboard screenshot button work on Ubuntu with GNOME shell?