Oracle - SQL - insert into with sub select

You are just missing a comma. As it is, Oracle thinks F2 is the name of your sub-select.

insert into tableb
(colA, colb, colc, cold)
select
(select max(rec_no)+1 from tableb) ,   -- comma here
F2,
F3,
F4
from tablea;