stmt ini berfungsi tanpa klausa where
Itu bisa jadi karena ketika Anda menggabungkan string, string tersebut dikonversi secara implisit dan kondisi where Anda gagal saat run time. Coba USING
klausa dengan variabel bind.
stmt_ins:= 'INSERT INTO ' || n_tab2 || ' SELECT * FROM ' || n_tab || ' where ' || dt_criado || ' < :dt ' ;
EXECUTE IMMEDIATE stmt_ins USING SYSDATE;