I created some jobs in TOS in order to implement Insert-Update between tables from different schemas on Redshift.
For both cases, I used ELT components, using "Mapping Redshift". No problem for "Insert" task.
Actually, I am not able to implement UPDATE. Use case: One table on a schema that has to update another table on a different schema. This is what I've done:
The error that the job returns is "single-row subquery returns more than one row".
I tried to use also tRedshiftOutput component and tRedshiftRow for the update, and in this case everything is ok. I have to use ELT component because is much faster with lots of data to move.
I wish you can help me!
Really thank you!
without design it not possible to tell what wrong
first of all you could try to check in the Code tab - what SQL query generated and try to run it manually on Redshift
but in case of simple UPDATE you could always use tRedshiftRow and write your update manually, it will work same as tELT - run all code on the server without transfer data
Really tahnk you for your reply.
As I said, I am able to update table with ordinary talend components, as tDBOutput.
I am not able to get update with tELTOutput component, mapping Redshift. So, can you tell me how to set this component to get a correct update?
Here, you can see my use-case. The error is "single-row subquery returns more than one row" (table A that update table B. I also set correct keys).
Please, provide me a solution for this problem.
Hi @rosemath91 ,
Could you please check the keys that you have set for updation have unique values in both tables. Normally this error is thrown when the keys which are used to join are not unique.
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Part 2 of a series on Context Variables
Learn how to do cool things with Context Variables
Find out how to migrate from one database to another using the Dynamic schema