ajuda para criar trigger no postgres

1. ajuda para criar trigger no postgres

Ricardo Minoru Yamamoto
jc_chan

(usa Debian)

Enviado em 20/11/2007 - 10:16h

hoje a noite eu terei prova de postgresql
e eu tenho quase certeza que cairá uma questão assim:
crie uma trigger que impeça o usuário de fazer um insert na tabela
aqui vai o script qu criei mas faltam alguns detalhes

create table tb_nomes (
cd_nome serial primary key,
nome varchar(50)
);

create table tb_log (
id serial primary key,
reg_tempo time
);

create function log_func ()
returns opaque as'
begin
raise notice ''Disparando Gatilho!'';
delete from tb_nomes where cd_nome = (aqui falta o detalhe);
insert into tb_log (reg_tempo) values (now());
return new;
end;'
language 'plpgsql';

create trigger trig_dados after insert on tb_nomes for each row execute procedure log_func();

insert into tb_nomes values (1, 'Cristian');

eu tentei colocar $1 mas da erro
se alguem puder me ajudar agradeço muito


  


2. RE: ajuda para criar trigger no postgres

Rudinei
rudineidias

(usa Debian)

Enviado em 29/11/2007 - 17:55h

Não entendi o objetivo da trigger, mas para funcionar faça o seguinte:

substitua
returns opaque as
por
returns trigger

substitua
delete from tb_nomes where cd_nome = ???;
por
delete from tb_nomes where cd_nome = new.cd_nome;

Agora pergunta? Porque excluir o registro de tb_nomes after insert?

Um abraço,

espero ter te ajudado


3. Re: ajuda para criar trigger no postgres

Ricardo Minoru Yamamoto
jc_chan

(usa Debian)

Enviado em 30/11/2007 - 09:28h

o objetivo da trigger era impedir que usuários insiram valores na tabela, muito obrigado pela dica, funcionou perfeitamente. Mas a prova foi na terça feira

muito obrigado.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts