nei tuoi esempi dei link si esegue un INSERT ... SELECT e non un INSERT ... WHERE non ammesso.
Il where e' riferito alla SELECT e non all'INSERT
INSERT INTO salads (type, popularity)
SELECT 'Cesar',10
FROM DUAL
WHERE NOT EXISTS (SELECT * FROM salads);
INSERT INTO my_table (colname)
SELECT 'foo'
WHERE NOT EXISTS (SELECT * FROM my_table)
Forse invece tu vuoi inserire dei tuoi valori solo se la tabella e' vuota. Nel primo esempio viene inserito "Cesar e 10" nel secondo "foo"