<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Performing insert/update/delete together for a target table in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262805#M43157</link>
    <description>&lt;FONT size="4"&gt;Hi,&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;With community version, there is a only way to achieve your goal. Matching the table and comparing all records to conclude the needed inserted records, updated records, and deleted records.&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;If you want to&amp;nbsp;capture the changed data and only load these changed data into target table to achieve table sync, you can compare tables by using tMap.&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;The work flow should be: Target DB--&amp;gt;tMap(make inner join on your input and set the "Catch lookup inner join reject" as true)--&amp;gt;output&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source DB--&amp;gt;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;The output will be the changed data.&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;With Talend Enterprise Subscription Version, there is a CDC (Change Data Capture) feature which can achieve data sync, however, it only take action in one DB.&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;Best regards&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;Sabrina&lt;/FONT&gt;</description>
    <pubDate>Fri, 03 Mar 2017 03:25:59 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2017-03-03T03:25:59Z</dc:date>
    <item>
      <title>Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262804#M43156</link>
      <description>Hi,
&lt;BR /&gt;I have a job wherein I'm transferring data from sql server to mysql. Job runs every 10 minutes. I want the rows to be deleted/inserted/updated in mysql as per the changes in sql server.&amp;nbsp;
&lt;BR /&gt;Do I have to make 2 separate outputs from tmap to tmsqloutput? One for 'Insert/Update' and the other one for 'Delete'? If yes, then would there not be lock in the table due to simultaneous insert/update/delete?
&lt;BR /&gt;Any idea on this would be helpful.
&lt;BR /&gt;Thanks in advance
&lt;BR /&gt;Rathi</description>
      <pubDate>Thu, 02 Mar 2017 07:45:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262804#M43156</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-02T07:45:05Z</dc:date>
    </item>
    <item>
      <title>Re: Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262805#M43157</link>
      <description>&lt;FONT size="4"&gt;Hi,&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;With community version, there is a only way to achieve your goal. Matching the table and comparing all records to conclude the needed inserted records, updated records, and deleted records.&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;If you want to&amp;nbsp;capture the changed data and only load these changed data into target table to achieve table sync, you can compare tables by using tMap.&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;The work flow should be: Target DB--&amp;gt;tMap(make inner join on your input and set the "Catch lookup inner join reject" as true)--&amp;gt;output&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source DB--&amp;gt;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;The output will be the changed data.&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;With Talend Enterprise Subscription Version, there is a CDC (Change Data Capture) feature which can achieve data sync, however, it only take action in one DB.&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;Best regards&lt;/FONT&gt; 
&lt;BR /&gt; 
&lt;FONT size="4"&gt;Sabrina&lt;/FONT&gt;</description>
      <pubDate>Fri, 03 Mar 2017 03:25:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262805#M43157</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-03T03:25:59Z</dc:date>
    </item>
    <item>
      <title>Re: Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262806#M43158</link>
      <description>Hi Sabrina, 
&lt;BR /&gt;Thanks for the response. I am still unable to understand how do I do a insert/update/delete in one shot? Because there is 'Insert/update' and 'Delete'. How do I put these together? 
&lt;BR /&gt;I understand Enterprise, gives CDC. But I am supposed to do this in TOS itself 
&lt;BR /&gt;Thanks&amp;nbsp; 
&lt;BR /&gt;Rathi</description>
      <pubDate>Mon, 06 Mar 2017 05:54:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262806#M43158</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-06T05:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262807#M43159</link>
      <description>&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;Hi Sabrina,&lt;BR /&gt;Thanks for the response. I am still unable to understand how do I do a insert/update/delete in one shot? Because there is 'Insert/update' and 'Delete'. How do I put these together?&lt;BR /&gt;I understand Enterprise, gives CDC. But I am supposed to do this in TOS itself&lt;BR /&gt;Thanks&amp;nbsp;&lt;BR /&gt;Rathi&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;You can not do this in one step, or parallel as mentioned in original question 
&lt;BR /&gt;You must do this as sequence as combination main and lookup flows + tMap JOIN 
&lt;BR /&gt;or You can load data to temporary table and manage all by SQL code</description>
      <pubDate>Mon, 06 Mar 2017 06:15:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262807#M43159</guid>
      <dc:creator>vapukov</dc:creator>
      <dc:date>2017-03-06T06:15:04Z</dc:date>
    </item>
    <item>
      <title>Re: Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262808#M43160</link>
      <description>Yes I understand it must be done in sequence. So, the flow,
&lt;BR /&gt;tmssqlinput --&amp;gt; tmap --&amp;gt; tmysqloutput(insertupdate)
&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|--&amp;gt; tmysqloutput (delete)
&lt;BR /&gt;My question is tmap is outputting, both insert/update and delete at the same time. How will the table handle this simultaneously?
&lt;BR /&gt;Thanks
&lt;BR /&gt;Rathi</description>
      <pubDate>Mon, 06 Mar 2017 06:29:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262808#M43160</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-06T06:29:17Z</dc:date>
    </item>
    <item>
      <title>Re: Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262809#M43161</link>
      <description>&lt;BLOCKQUOTE&gt; 
 &lt;TABLE border="1"&gt; 
  &lt;TBODY&gt; 
   &lt;TR&gt; 
    &lt;TD&gt;Yes I understand it must be done in sequence. So, the flow,&lt;BR /&gt;tmssqlinput --&amp;gt; tmap --&amp;gt; tmysqloutput(insertupdate)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|--&amp;gt; tmysqloutput (delete)&lt;BR /&gt;My question is tmap is outputting, both insert/update and delete at the same time. How will the table handle this simultaneously?&lt;BR /&gt;Thanks&lt;BR /&gt;Rathi&lt;/TD&gt; 
   &lt;/TR&gt; 
  &lt;/TBODY&gt; 
 &lt;/TABLE&gt; 
&lt;/BLOCKQUOTE&gt; 
&lt;BR /&gt;do not know - You can test&amp;nbsp; 
&lt;BR /&gt;I use always other ways: 
&lt;BR /&gt; 
&lt;BR /&gt;collect changes (when it possible), and then apply to target - it is best method. In my case it possible when we have 2 timestamps on database and soft delete (like 'deleted' == true), by timestamp very easy to understand - new records or edited from last iteration 
&lt;BR /&gt;use table on target database as mean above and call stored procedure to do this, benefits - use indexes and fast. 
&lt;BR /&gt;make a 3 separate step (not from 1 tMap, but 3 separate tMap and 3 query), if data not huge: 
&lt;BR /&gt; 
&lt;BR /&gt;check records for UPDATE - and update all what possible 
&lt;BR /&gt;check new records - INSERT them 
&lt;BR /&gt;check what need delete - and delete them 
&lt;BR /&gt; 
&lt;BR /&gt;why 3?&amp;nbsp; 
&lt;BR /&gt;because in this case You can use batch mode for UPDATE/INSERT/DELETE&amp;nbsp;and total speed much faster even after 3 query over databases</description>
      <pubDate>Mon, 06 Mar 2017 06:41:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262809#M43161</guid>
      <dc:creator>vapukov</dc:creator>
      <dc:date>2017-03-06T06:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: Performing insert/update/delete together for a target table</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262810#M43162</link>
      <description>Ok. Maybe I can use 'Update/Insert' and then 'Delete'. How do I design the job to run 'Delete' after 'Update/Insert'?&amp;nbsp;
&lt;BR /&gt;I know sql procedures can accomplish this.
&lt;BR /&gt;But, I want to know how to do it in Talend. To call Delete after insert/update?
&lt;BR /&gt;Thanks</description>
      <pubDate>Mon, 06 Mar 2017 07:04:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Performing-insert-update-delete-together-for-a-target-table/m-p/2262810#M43162</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-06T07:04:37Z</dc:date>
    </item>
  </channel>
</rss>

