Streaming tables are append-only by design, so they can't overwrite. Use a materialized view that keeps only the rows from the newest file, via the _metadata column:
sql
CREATE OR REFRESH MATERIALIZED VIEW orders AS
SELECT * EXCEPT (file_time)
FROM (
SELECT *,
_metadata.file_modification_time AS file_time
FROM read_files('/path/orders/', format => 'csv', header => true)
)
QUALIFY file_time = MAX(file_time) OVER ();
Each refresh then replaces the table contents with only the latest file (orders_2.csv, then orders_3.csv, and so on).
If the folder grows large, ingest with a streaming table (Auto Loader) into a bronze table, storing _metadata.file_name and _metadata.file_modification_time as columns, and build the same "latest file only" materialized view on top of it. That way all the files aren't re-read on every refresh.
Hope this helps