title: Duplicating a table in Firebird
body: <p>I'm currently writing a (C++)program that reads csv files into a Firebird database. During the algorithm, my tables are modified.
  Since the whole reading process takes a few minutes, I've made the reading part optional, thus if the database is already filled with data, the user can decide not to update it.</p>
  
  <p>When running the program more than once, I want to use the original data, instead of the data that has been modified during the last run, so I thought of doing something like </p>
  
  <blockquote>
    <p>create table table1_backup as (select*from table1);</p>
  </blockquote>
  
  <p>and then, when restarting the program (in case we do not want to update the data) </p>
  
  <blockquote>
    <p>delete table table1;
    create table table1 as (select*from table1_backup);</p>
  </blockquote>
  
  <p>Seemingly, duplicating tables in Firebird doesn't work this way.</p>
  
  <p>Any other ideas?</p>