none
Da pra redirecionar um SELECT de uma TABELA para outra? RRS feed

  • Pergunta

  • Olá Pessoal,

    Gostaria de saber se tem como redirecionar o comando SELECT feito por um usuário ''X'' em uma tabela, e então o banco interpreta esse comando e realiza um SELECT em outra?

    desde já, vlw..!!!


    **** SER A RESPOSTA FOR UTIL, NÃO ESQUEÇA DE MARCA-LÁ =P ****

    sexta-feira, 18 de outubro de 2013 16:27

Todas as Respostas

  • tipo uma trigger??

    --Rafael Albuquerque

    sexta-feira, 18 de outubro de 2013 16:52
  • Rafael boa tarde,

    Qual a necessidade ? Ficou meio confusa a explicação ahuahauhauahauhau

    Att.


    Guilherme Silva Cardoso

    sexta-feira, 18 de outubro de 2013 17:27
  • Por exemplo, imagine que o usuário tenha permissão de select na tabela produto, a permissão foi concedida utilizando o comando GRANT SELECT ON PRODUTO TO Usuario Ok?

    Quando o Usuario fizer uma consulta ele vai conseguir retornar todos os valores da tabela produto certo?

    Agora, se eu quiser que o Usuario tenha acesso somente aos codproduto = 2, utilizando o GRANT, eu teria que criar uma view para conceder permissão de consulta ao mesmo>

    CREATE VIEW view_produto as (SELECT * FROM PRODUTO WHERE ID = 2)
    GRANT SELECT ON View_produto TO Usuario certo?


    Agora , o meu problema é o seguinte. No sistema que estou mexendo, tenho mais de 50 lugares onde declaro que os usuários possuem acesso a tabela Produto, mas agora vou utilizar usuários do SQL tbm e cada um vai acessar as permissões que devem.

    Lembrando que, um formulário do sistema por exemplo, vai ser acessado por diferente níveis de usuário e dependendo da sua regra de permissão e utilizando o exemplo que dei no começo, alguns poderão acessar a tabela produto com codproduto = 3 e outros codproduto = 2.

    Resumindo, gostaria de fazer assim, quando um usuário realizar um comando SELECT * FROM PRODUTO, será redirecionado para a view que criarei no banco para que ele possa acessar somente oque o mesmo tem acesso, assim não precisarei alterar minhas 50 telas ou criar uma regrar que quando for o usuário x, o select será com a view_produto_cod1 e quando for com outro usuário, a será a view_produto_cod2 e por ai vai?


    Ficou um pouco mais esclarecedor?

    Vlw..

     

    **** SER A RESPOSTA FOR UTIL, NÃO ESQUEÇA DE MARCA-LÁ =P ****

    sexta-feira, 18 de outubro de 2013 17:43
  • Sim, mas sem usar a mesma ! ^^'>

    **** SER A RESPOSTA FOR UTIL, NÃO ESQUEÇA DE MARCA-LÁ =P ****

    sexta-feira, 18 de outubro de 2013 17:43
  • Rafael,

    O que você pode fazer é o seguinte, renomear a tabela PRODUTOS para PRODUTO_X e criar a view com o nome da tabela PRODUTOS.

    Creio que isso possa te ajudar.

    • Sugerido como Resposta Wilian Oliveira sexta-feira, 18 de outubro de 2013 19:25
    sexta-feira, 18 de outubro de 2013 17:55
  • Rafael,

    Concordo com o William, seria mais simples e até mesmo mais seguro trabalhar com a View.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 18 de outubro de 2013 18:05
    Moderador