none
views triggers e procedures RRS feed

  • Pergunta

  • Bom dia a todos,

    não possui muita experiência na parte de views e trigger e tenho algumas perguntas para vocês:

    1 - O que são views e triggers? Qual a diferença deles e de uma procedure?

    2 - em quais momentos seria melhor usar views, triggers e procedures?

     

    Se alguém tiver algum link bem interessante sobre views, triggers e procedure, por favor, me mande ^^

     

    Atenciosamente,

    Pedro

    quinta-feira, 9 de novembro de 2006 10:58

Respostas

Todas as Respostas

  •  

     

    1 - O que são views e triggers? Qual a diferença deles e de uma procedure?

      Triiger- sao gatilhos e sao disparados quando uma tabela sobre um insert / update ou delete

      view e uma consulta sql que fica armazenada no servidor por exemplo

     create view nome_view

    as

    select * from tabela

    depois vc. pode usar o select * from nome_view que a view vai fazer a consulta

    2 - em quais momentos seria melhor usar views, triggers e procedures?

    -- triiger so usar em casos extremos quando por exemplo quizer atualizar outra tabela apartir de uma acao de insert

    -- view ( eu nao gosto de usar ) mais vc. pode usar para deixar queires complexas sendo chamadas somente pelo nome da view ao invez de toda a hora ter que passar um select

    -- store procedures podem ser usadas como view com algumas vamgens como o plano de exeucacao compilado no sql, e podem ser usadas para automatizar procedimentos como um insert onde ao invez de passar o comando insert vc. vai passar uma procedure para fazer isso.

     

    espero ter ajudado qualque coisa retorne.

     

    Abs.;

    quinta-feira, 9 de novembro de 2006 11:08
  • Muito obrigado Marcelo,

    mas fiquei com uma duvida, eu poderia usar esta trigger dentro de uma procedure? por exemplo:

    create procedure

    @texto varchar(50)

    as

    insert into tabelaTexto(texto) values (@texto)

    -- e usar essa mesma variavel @texto como parametro da trigger para armazenar em outra tabela o valor desta variavel ou

    O sql faria isso automaticamente? (automaticamente eu digo: quando um valor é inserido numa tabela, a trigger pega este valor inserido e insere em outra tabela)

     

    E só uma informação extra para quem ler esta thread futuramente, eu to lendo um artigo aqui, e vi que views podem ser usadas como um mecanismo de segurança. Por exemplo, temos um usuário precisa ver informações de uma tabela, mas ele não precisa ver o conteúdo inteiro da tabela, então criamos uma view fazendo um select do que ele pode ver e damos permissão a ele usar esta view, mas não damos permissão de fazer select nesta tabela.

    Só um exemplo: vamos supor que uma pessoa de RH quer ver todos os funcionários da tabela Funcionarios, mas fora impedido de ver as informações de diretores, por exemplo. Então, poderíamos fazer uma view que fizesse um select de todos os funcionários que não são diretores e negamos o select na tabela de funcionarios.

    quinta-feira, 9 de novembro de 2006 11:29
  • cara de uma olhada neste link sobre as trigger

     

    http://www.freecode.com.br/drartigos/artigo.php?cdart=268&id=17381

     

    Abs;

    quinta-feira, 9 de novembro de 2006 11:53