A_T_C Posted November 3, 2009 at 03:16 PM Report Share #294508 Posted November 3, 2009 at 03:16 PM Boa tarde! Estamos a tentar desenvolver um trigger que não permite que um registo c 2 atributos iguais estejam em 2 tabelas diferentes. create function me_txt_update() returns trigger as $$ declare var integer default 0; begin select count(*) into var from respme where respme.numperg = new.numperg; if var > 0 then raise exception 'Erro'; end if; return new; end $$ language plpgsql; create trigger me_txt before insert on respme for each row execute procedure me_txt_update(); Mas não está a ter o comportamento pretendido... O q se tem q fazer para funcionar ? Link to comment Share on other sites More sharing options...
magician Posted November 3, 2009 at 04:43 PM Report Share #294516 Posted November 3, 2009 at 04:43 PM O que ele está a fazer em concreto? Já agora ter o mesmo registo em duas tabelas diferentes vai um bocado de encontra a filosofia do modelo relacional, não estarão a avaliar mal a questão ? I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
A_T_C Posted November 3, 2009 at 05:22 PM Author Report Share #294527 Posted November 3, 2009 at 05:22 PM Sim, por ir contra a filosofia do modelo é q implementámos um trigger. Supostamente está a verificar se a pergunta txt já tem lá o registo e se estiver, não permitir o registo na outra tabela (respme). Mas não estou a perceber o q fazemos mal ... :bored: Alguma ajuda? Link to comment Share on other sites More sharing options...
magician Posted November 3, 2009 at 07:38 PM Report Share #294556 Posted November 3, 2009 at 07:38 PM Pera se estou a perceber é se o txt tiver o registo numa tabela não deixar fazer na outra é isso ?? lol meio confuso I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
A_T_C Posted November 3, 2009 at 08:09 PM Author Report Share #294567 Posted November 3, 2009 at 08:09 PM sim, é isso mesmo!! Link to comment Share on other sites More sharing options...
magician Posted November 3, 2009 at 09:38 PM Report Share #294584 Posted November 3, 2009 at 09:38 PM Não seria mais fácil fazer um select antes do insert para validar?? Ou então reestruturar o modelo para não ter essa "ambiguidade". I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
A_T_C Posted November 3, 2009 at 09:47 PM Author Report Share #294588 Posted November 3, 2009 at 09:47 PM Seria de facto melhor, mas como isto é para um projecto, é nos feita esta imposição de triggers para resolver a questão ... :bored: E q não sabemos como resolver ... Link to comment Share on other sites More sharing options...
magician Posted November 3, 2009 at 11:29 PM Report Share #294613 Posted November 3, 2009 at 11:29 PM Não sei se é grande ajuda mas deixo aqui uma pequena doc sobre triggers em postgresql bastante explicativa http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Fun%C3%A7%C3%B5es_Definidas_pelo_Usu%C3%A1rio_e_Triggers/Triggers Espero que ajude, infelizmente embora já tenha trabalhado com PL/SQL não tenho muita pratica e experiência na área I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now