title: How can I make SQL automatically copy certain rows in a table to another table in the same Database?
body: <p>The source table has a fixed number of rows that get updated at various random intervals. My intent is to create a second table to store the historical data. i.e: Whenever a row gets updated in the original table, a new row has to be automatically added to the secondary table. The speed of this &quot;copying&quot; operation is not crutial, it is fine if this &quot;copying&quot; operation took some seconds to cach up.</p>
  <p>How many methods are there to automatically perform this inside SQL? preferably without using 3rd party applications?</p>
  <p>Is there a difference between adding new rows from an external source and &quot;copying&quot; rows from one table to another within the same database in terms of Computer resources utilization? i.e: if a certain PC is capable of writing X rows per second to a table in SQL, can this PC &quot;copy&quot; the same X number of rows between tables in the same database?</p>
  <p>What is the reliability of the solution that copies rows between tables? is there a possibility to lose some data in the copying process? (for example, a row in the original table gets updated, then updated again before the &quot;copying&quot; operation had the time to finish the copying process, what would happen in this situation?)</p>