Now I am getting

ERROR at line 3:
ORA-00904: "T"."ENA": invalid identifier

OK what is the difference between this two statements??

merge into test t1
using (select ena from test1) t2
on (t1.ena = t2.ena)
when matched then update set t1.ena = t2.ena
when not matched then insert (t1.ena) values (t2.ena)

and

MERGE INTO bonuses D
USING (SELECT employee_id, salary, department_id FROM employees
WHERE department_id = 80) S
ON (D.employee_id = S.employee_id)
WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01
WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus)
VALUES (S.employee_id, S.salary*0.1);

Well the second one works. From what I can see the syntax is OK in the first query so the problem is somewhere else.

I would realy like to know where the problem is, becouse I just can't figure it out.