Valores separados por comas para la función IN en Oracle

Estoy tratando de ejecutar la consulta a continuación, pero no obtengo ningún resultado.

¿Alguien podría decir qué mal estoy haciendo?

DECLARE
  object_types VARCHAR2(200);
  v_object_types VARCHAR2(200);
  l_count number;
BEGIN
  object_types :='TABLE,VIEW';
  select ''''||regexp_replace(object_types, '( )*(,)( )*',''',''')||''''  
         into v_object_types from dual;
  dbms_output.put_line(to_char(v_object_types));
  SELECT count(*) into l_count
    FROM all_objects o where o.object_type IN ('||v_object_types||');
  dbms_output.put_line(l_count);

END;

Respuestas a la pregunta(2)

Su respuesta a la pregunta