As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name.
I have an auto-increment table that I'd like to write to in an insert/update fashion.
I have a Data Migrator flow that left-outer-joins the destination table to the source table, so that I can capture the ID of the destination table. I
I pass all my fields from the source table across, and I'm sending the ID field from the destination table as well, which is either an integer (on a match in the join) or a null (on no match in the join).
I can't figure out how to make this run as an insert/update flow. How do I get the database to either a) update the existing record when the keys match; or b) insert when there is no key?
If I try to assign the ID SQL*Server throws and error.* If I don't assign the ID I get duplicate inserts of the same information.
* 07/09/2019 16:20:39 MVGBIBITWF1 (FOC1377) UPDATE OR DELETE FOR KEYS=0 NOT SUPPORTED FOR SUFFIX : SQLMSSThis message has been edited. Last edited by: FP Mod Chuck,
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
You can't a assign a value to a column in MS SQL Server described as autoincrement. Not even a value of NULL, which in this case is not the same thing as not assigning a value.
If there is some other column(s) in your target table that uniquely identify the row you could use the Slowly Changing Dimension support to identify that column(s) as the logical key(s), the autoincrement column as the surrogate key, and the other columns as Type I.
N/A
Posts: 397 | Location: New York City | Registered: May 03, 2007
In the DataMigrator Users Guide see the section "Generating a Surrogate Key Using Slowly Changing Dimensions" and the section "SCD Type." For your purpose ignore the "Type II" and change flags.
Alternatively, create the DataMigrator tutorials for Star Schema and look at any of the dimension tables.
N/A
Posts: 397 | Location: New York City | Registered: May 03, 2007