ten stmt działa bez klauzuli where
Może to być spowodowane tym, że podczas łączenia ciągów są one konwertowane niejawnie, a warunek where nie działa w czasie wykonywania. Wypróbuj USING
klauzula ze zmiennymi wiązania.
stmt_ins:= 'INSERT INTO ' || n_tab2 || ' SELECT * FROM ' || n_tab || ' where ' || dt_criado || ' < :dt ' ;
EXECUTE IMMEDIATE stmt_ins USING SYSDATE;