Is it possible to update partial data (primary key + just one or more columns) in a matching target row while leaving others intact in target as shown below or do I have to do a lookup and port all the columns?
Yes, simply only connect the required ports. Note, that you need to define in your target the ID column as primary key.
Related
I am using Informatica to finally write in the oracle table after performing certain logical operations on the data.
The problem is that if a certain ID was already previously processed and is present in the target table then it is not inserted again.
Please suggest a workaround.
Hi, This is because you might have same primary key in the source which is available in the target. Look into primary key columns and try loading them.
Altering your target table
alter table target_table_name drop constraint constraint name;
I am trying to implement a SCD type2 in informatica and I am finding it difficult to achieve this, reason being multiple records in the source for the same key.
In case of multiple records, I have to use dynamic cache and when I do, it doesn't identify the correct record when looked up as I don't have surrogate key calculated when dynamic lookup is performed. So, this is what happens:
My source has 3 records for the same key and target doesn't have anything in it.
Dynamic look up is performed with the key and 1st record is identified as Insert and have the active flag set to "Y". Then the 2nd record is looked up and identified as update and the active flag is set to "Y" for it and "N" for the 1st record. When the 3rd record comes in, lookup is not able to identify the latest record set to "Y", but fetched the 1st record again and set it to "N" while setting the 3rd record to "Y". As a result, I have 2 active records now for the same key which fails to meet the type-2 requirement.
Please help me on how to achieve this.
Is it possible to Query a DynamoDB table using both the hash & range key AND a local secondary index?
I have three attributes I want to compare against in my query. Two are the main hash and range keys and the third is the range key of the local secondary index.
No, but that shouldn't be necessary based on your description of what you are trying to accomplish.
If you are trying to access an object based on the hash and range key (of the main table) as well as an additional attribute, selecting on only the hash and range of the main table (which is required to return a single record by definition) will return that record.
If your concern is that the third attribute may be a value that you want to ignore the entire record you can use a query filter to have that item filtered out by DynamoDB or you can use logic in your application to ignore that object.
while updating a record using MRU its failing with below error.
1 error has occurred
Current version of data in database has changed since user initiated update process. current row version identifier = "C5F3645B026AA5646C00DC7B631C4D19" application row version identifier = "6A9323B62F641015FA4601421DFB03DE" (Row 1)
This is strange because I do not see any change in the data at backend.
Any help will be highly appreciated.
Thanks.
AJ
If you're using a tabular form, check your query, then check the item. The item must match with the correct column in a database that is updatable.
Make sure that your column aliases match your column names (for updateable columns).
I had the same problem, the problem in my case that detail table has composite primary key,
so in application > column > Primary KeyPrimary Key
property must all primary key field enable , not only one field.
I am trying to update a specific field in the "Claims" table of my 2010 Access Database. I keep receiving an error message that says there are key violations. Here is the SQL:
UPDATE Claims SET Claims.LS_Name = "JPN"
WHERE (((Claims.Responsibility2)=0));
Is there any reason, based on the above code, that it is not working?
Thanks in advance!
My first guess would be that there is a unique key on Claims.LS_Name and your update hits more than one row.
OK, I ran into this issue as well in Microsoft Access and think I have ways to solve versions of this. The intermediate table may not be necessary. My experience is that autonumber is the issue so conversion to number seems to work, but you have to delete relationships for Access to allow this change.
remove all relationships to the destination table.
change from autonumber to number.
make new empty tablethatincrements starting with the next higher key https://superuser.com/questions/288087/how-do-i-set-the-first-value-of-autonumber-in-access
update/query to the tablethatincrements table instead of destination.
update/merge from tablethatincrementsto to the destination table, including new higher keys.
remake relationships
OR In certain situations. (for mine the new keys matched the old)
something like this (may not be exact steps)
remove all relationships to the destination table.
delete ID/primary key in destination
merge/update to destination
create new ID/Primary key in destination (so it can be autonumber to renumber keys)
remake relationships
Anyway my next research item is to see how to never use autoincrement and do the unique keys using other methods so relationships do not have to be removed to change from autoincrement to number.