Pessoal como executar o resultado de DBMS_METADATA.get_ddl(...) em 
uma Function? Segue abaixo minmha Function

FUNCTION FN_COMPARA (
   pr_usera   IN       VARCHAR2,
   pr_userb   IN       VARCHAR2,
   pr_erro    OUT      VARCHAR2
)
   RETURN VARCHAR2
IS
   vtable_name   VARCHAR2 (30);
   DDL           CLOB;
   i             INTEGER;
   a             INTEGER;
   x             INTEGER;
   --get dbms_metadata.get_ddl
(object_type,name,schema,version,model,transform);
--   variable_name                 datatype;
BEGIN
   vtable_name := '';
   i := 0;
   x := 0;
  --  grant select on all_tables to TCCB;
    
   FOR tabela IN (SELECT table_name
                    FROM all_tables
                   WHERE owner IN (UPPER ('tcca'), UPPER ('TCCB'))
                     AND table_name NOT IN (SELECT table_name
                                              FROM all_tables
                                             WHERE owner = 'TCCB'))
   LOOP
      vtable_name := tabela.Table_name;
        
      DDL := DBMS_METADATA.get_ddl ('TABLE', vtable_name, pr_usera);
      EXECUTE IMMEDIATE TO_CHAR (DDL);

      COMMIT;
   END LOOP;

   RETURN TO_CHAR (DDL);
EXCEPTION
   WHEN OTHERS
   THEN
      pr_erro := ('Erro: ' ||pr_erro||SQLERRM);
END;

Responder a