Jump to content


Photo

Funcoes E Triggers


  • Faça o login para participar
2 replies to this topic

#1 mhercs

mhercs

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:Basil

Posted 02/09/2011, 14:05

Ola pessoal,


estou aprendendo Psql e estou entrando nessa parte de funcoes usados por triggers e vou colocar o meu problema num exemplo simples;



vamo supor que eu tenha as tabelas

Livro (codlivro, titulo, cidade, codeditora)

e a tabela Editoras (codeditora, razaosocial, cnpj, qtdlivros)



nesse caso eu gostaria de criar uma funcao ( nao um view),para poder contar o numero de livros publicados por cada editora e armazena-lo (ou atualiza-lo) no campo qtdLivros da tabela editoras. Alguem tem alguma ideia de como fazer isso?

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 02/09/2011, 23:58

O melhor é criar um trigger na tabela livro que some 1 em qtdlivros da respectiva editora em um INSERT e que subtraia 1 em um DELETE.

AFTER INSERT
UPDATE editoras SET qtdlivros=qtdlivros+1 WHERE id=new.codeditora

AFTER DELETE
UPDATE editoras SET qtdlivros=qtdlivros-1 WHERE id=old.codeditora


#3 messahuo

messahuo

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

Posted 09/04/2012, 23:55

e a tabela Editoras .Posted Image




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq