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;