array( "S ocr_currency", "D ocr_date", "I ocr_value_chf" ), "orderorder" => array( "I oo_nr", "I os_nr", "D oo_order_date", "D oo_deliver_date", "I oo_parts_price", "S oo_parts_currency", "I oo_ship_price", "S oo_ship_currency", "I oo_taxes_price", "S oo_taxes_currency" ), "orderorderuser" => array( "I oo_nr", "I ou_nr", "I oou_parts_price", "I oou_stock_flag" ), "orderpart" => array( "I op_nr", "I os_nr", "S op_part_nr", "S op_web_part_nr", "S op_name", "S op_descr", "S op_long_descr", "I op_price", "I op_price_drop", "D op_price_date", "I op_del_flag" ), "orderparttag" => array( "I op_nr", "I ot_nr", "I opt_primary" ), "orderpartuser" => array( "I ou_nr", "I op_nr", "I oo_nr", "I opu_type", "I opu_count", "I opu_price" ), "ordersupplier" => array( "I os_nr", "S os_name", "S os_part_url", "I os_needs_webnr", "S os_url_nr_regex", "S os_url_webnr_regex", "S os_currency", "I os_del_flag" ), "ordertag" => array( "I ot_nr", "I ot_parent_nr", "S ot_name", "S ot_long_name" ), "orderuser" => array( "I ou_nr", "S ou_name", "I ou_del_flag" ) ); ?> $columns ) { $colnames = array(); $coltypes = array(); $n = 0; foreach( $columns as $column ) { $colnames[$n] = substr( $column, 2 ); $coltypes[$n] = substr( $column, 0, 1 ); $n++; } $sql = "select "; $inspfx = "insert into $tablename ( "; $i = 0; while( $i < $n ) { if( $coltypes[$i] == "D" ) { $sql .= "to_char( " . $colnames[$i] . ", 'DD.MM.YYYY' ) as " . $colnames[$i]; } else { $sql .= $colnames[$i]; } $inspfx .= $colnames[$i]; $i++; if( $i < $n ) { $sql .= ", "; $inspfx .= ", "; } } $sql .= " from $tablename"; $inspfx .= " )\n values ( "; $ress = db_query( $sql ); if( $ress ) { $row = db_next( $ress ); if( $row ) { echo "truncate table $tablename;\n"; while( $row ) { echo $inspfx; $i = 0; while( $i < $n ) { $value = $row[$colnames[$i]]; switch( $coltypes[$i] ) { case "I": if( $value == "" ) { $value = "null"; } break; case "S": $value = str_replace( "\r", "\\r", str_replace( "\n", "\\n", str_replace( "\\", "\\\\", db_escape_str( $value ) ) ) ); break; case "D": if( $value == "" ) { $value = "null"; } else { $value = "to_timestamp( '$value 00:00:00', 'DD.MM.YYYY HH24:MI:SS' )"; } break; default: $value = "??? " . $coltypes[$i] . " ???"; break; } echo $value; $i++; if( $i < $n ) { echo ", "; } } echo " );\n"; $row = db_next( $ress ); } echo "\n"; } } } ?>