Sua consulta parece boa para mim, acabei de adicionar Table Alias. Sua consulta atualizará todos os registros na tabela1. Qual erro você está recebendo...??
Sugestões,
a) A menos que seja a intenção de atualizar todos os registros, adicione uma cláusula where na consulta para evitar a atualização de todos os registros...
b) Se você está recebendo (ORA-01427:subconsulta de linha única retorna mais de uma linha), significa que a subconsulta correlacionada (entre colchetes) está faltando alguma condição para fazê-la buscar apenas 1 linha por epcclass_id.
update table1 Pr
set Pr.code = (select t2.class_attr_value
from table2 t2
where t2.class_attr_name = 'sample'
and t2.epclass_id = Pr.epcclass_id
);