Trigger Error!
От | jreniz |
---|---|
Тема | Trigger Error! |
Дата | |
Msg-id | 3AB2619E.26687603@tutopia.com обсуждение исходный текст |
Список | pgsql-general |
Hi! I've postgresql 6.5.3 system and 50 tables, but i need to run this trigger: (the comments are in spanish :-) ) create function gen_req() returns opaque as ' declare cantdisp int4; suma int4; cantprodsol int4; codereq int4; begin if int4ne(new.candisproter, old.candisproter) then select candisproter into cantdisp from proter where codproter=new.codproter; if not found then raise exception ''No hay datos de productos''; end if; select sum(stomin) into suma from almproterpt where codproter=new.codproter; if not found then raise exception ''No hay datos de Stocks minimos''; end if; cantprodsol := old.candisproter - new.candisproter; if int4le((cantdis - cantprodsol), suma) then select codreq from requisicion where fecsalreq=current_date; if not found then --se inserta la requisicion; insert into requisicion(fecsalreq,codest) values(current_date,1); end if; --se repite la query pero asignando el valor; select codreq into codereq from requisicion where fecsalreq=current_date; --procedemos a insertar el detalle; insert into detallereq(codreq,codpt,canpt) values(codereq,new.codproter,cantprodsol); end if; end if; return new; end; ' language 'plpgsql'; create trigger gen_req_tg before update on proter for each row execute procedure gen_req(); Well, the trigger is created, the trigger should intercepts the update event in table 'proter' and when I reduce the 'candisproter' field to specied value then, the trigger is fired. But......... It isn't work, when I run the update operation, then, I give this error: 'There is no operator '=$' for types 'int4' and 'int4' you will either have to retype this query using and explicit cast, or you will have to define the operator using CREATE OPERATOR' I don't understand what's the meaning af this message, the types are incorrect?? WHAT'S WRONG????? thankx!!!
В списке pgsql-general по дате отправления: