Ir para conteúdo
Fórum Script Brasil

Josieli

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Josieli

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Josieli's Achievements

0

Reputação

  1. Josieli

    Triggers

    Boa tarde Estou fazendo a matéria de banco de dados 2, e o professor passou um exemplo bem por cima de como criar trigger e porque usa-la, mas agora tentando criar sozinha para o trabalho, estou batendo cabeça com uma delas e gostaria de ajuda. Tenho as tabelas cidade e estado, e quero que quando um estado não esteja sendo referenciado por nenhuma cidade o mesmo seja excluido, mas a única coisa que consegui seguindo o exemplo que o professor passou é apagar praticamente tudo que foi inserido, ficando apenas o estado que não foi referenciado na tabela cidades, ou seja, ao contrario do que eu queria que o mesmo fizesse. Se puderem me ajudar create table estado( id_estado integer primary key, nome varchar(20) ); create table cidade( id_cidade integer primary key, nome varchar(20), id_estado integer references estado (id_estado) ); insert into estado values(1, 'Santa Catarina'); insert into estado values(2, 'Parana'); insert into estado values(3, 'Rio Grande do Sul'); insert into cidade values(1, 'Vitor Meireles', 1); insert into cidade values(2, 'Curitiba', 2); insert into cidade values(3, 'Dona Emma'); create trigger verifica_sem_municipio before insert on cidade For Each Row execute procedure apaga_estado(); create function apaga_estado() returns opaque as ' declare cd_estado integer; begin cd_estado := new.id_estado; if not exists(select * from cidade where id_estado = cd_estado) then delete from estado where id_estado = null; raise notice ''Estado % foi apagado'',cd_estado; end if; return null; End; ' language 'plpgsql';
×
×
  • Criar Novo...