Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Converting VFP code to SQL Server
Message
From
24/05/2012 13:28:56
 
General information
Forum:
Microsoft SQL Server
Category:
Stored procedures, Triggers, UDFs
Environment versions
SQL Server:
SQL Server 2005
Miscellaneous
Thread ID:
01544266
Message ID:
01544305
Views:
30
Likes (1)
>>>>Hi,
>>>>
>>>>How do you INSERT (possibly) and UPDATE a table in one command? Here is what I am trying to do:
>>>>
>>>>I need set fields, say MyField1 and MyField2, to some values MyVal1 and MyVal2 in a table where field MyField3 is equal to ‘MyVal3’ But if the record where MyField3 = ‘MyVal3’ does not exist, I want to INSERT a record and set values of all three fields.
>>>>
>>>>TIA
>>>
>>>In SQL Server 2008 and up you need to use MERGE command. Start from looking at MERGE command examples in BOL.
>>>
>>>Otherwise the basic idea is to use IF NOT EXISTS (..) INSERT ELSE UPDATE pattern which may fail in multi-user environment.
>>
>>FYI.
>>
>>Last year I wrote a application to populate a set of tables from various sources. It appeared to be a great opertunity to use the MERGE command. Well, everything went fine. But during some testing, I noticed that the after about four or five times the Merge command was executed, it stop updating existing rows and start just inserting duplicate records. I had to resort to the IF ELSE methed you are suggesting. BTW, this was in SQL 2008 R2.
>
>Have you been using SP1? I think I read about some bug in MERGE command, try searching on MS Connect, I believe it should be there.

Thanks.

P.S. The version of my Query tool will allow you to use the Merge command against many data sourcces, including Foxpro tables.
Greg Reichert
Previous
Reply
Map
View

Click here to load this message in the networking platform