Oi Chiappa, agora eu peguei o seu raciocínio - a forma de implementar isso dependeria de inúmeras parafernálias tipo SQL dinâmico. Sobre a queda de performance de SQLs dinâmicos, eu nem preciso ir no Asktom. Eu já fiz muitos testes e comprovo o que vc diz em número, genero e grau.
Mas siga o meu raciocínio e cenário. GRANT SELECT <tabela> TO <role> Quando vc dá GRANT <role> TO USER <usuario>, o acesso a tabela pelo usuário é automático, correto? Vc não precisa ter SQL dinâmicos ou qq outra parafernália para que o usuário passe a enxergar a tabela. Porque não existir o mesmo automatismo para um GRANT SELECT ON ANY TABLE to <role>? Repare que no meu caso hipotético, o usuário só irá consultar as tabelas: imagine, por exemplo, um Dataware House. Em ambientes muito dinâmicos, o processo de criação de tabelas é constante e muitas vezes não existe um AD só para ficar controlando isso. Se houvesse algo automático, vc teria uma tarefa a menos para dar a ele. Isso me lembra uma visita em uma empresa em que o prazo para criar um campo em uma tabela era de 1 mês.... Quando chegamos e começamos a criar uma tabela por dia (com seus respectivas telas de manutenção), o usuário pirou e passou a nos amar eternamente :))) Antes que me crucifixem por estas afirmações, recomendo a todos o livro Refactoring Database do Scott Ambler (o das metodologias ágeis) http://www.agiledata.org/essays/databaseRefactoring.html ------------ Sobre o Metalink: esse é um tema polêmico!!! Eu até teria verba para comprar mas não concordo com os termos da Oracle. É uma questão de principio. Se vc compra um produto Oracle, vc deveria ter automaticamente acesso ao Metalink sem ter que pagar a mais por isso. Até a Microsoft e a Apple que são os piores casos de desrespeito ao consumidor tem seus equivalentes de "Metalink" abertos para quem compra os produtos deles. Por isso, eu pago R$10mil a um consultor mas não pago R$3mil pelo Metalink. Um abraço, Josir. >O porquê de não ser a melhor opção, em primeiro lugar é por que pra >implementar isso vc VAI TER QUE, como eu disse, criar triggers/jobs >que criem SQLs dinâmicos com DDL, e há "imposto de performance" se >houver abuso tanto para SQL dinâmico (parses extras) quanto para DDLs [As partes desta mensagem que não continham texto foram removidas]