我在这个简单的触发器中遇到了困难.我的目的是在插入新寄存器之前验证是否存在具有相同字段内容的寄存器"tag_id".如果NEW tag_id与我的表"coordenadas"上的任何寄存器的tag_id相同,那么它会更新,如果没有,则会插入一个新的.当我尝试插入某事时,我收到错误:
ERROR: record "old" is not assigned yet
DETAIL: The tuple structure of a not-yet-assigned record is indeterminate.
CONTEXT: PL/pgSQL function verifica_coo() line 7 at IF
Run Code Online (Sandbox Code Playgroud)
我有这张桌子:
CREATE TABLE public.coordenadas
(
id bigint NOT NULL,
pos_data timestamp without time zone,
pos_latitude double precision,
pos_longitude double precision,
tag_id bigint NOT NULL,
gado_id bigint NOT NULL,
CONSTRAINT coordenadas_pkey PRIMARY KEY (id),
CONSTRAINT coordenadas_gado_id_fkey FOREIGN KEY (gado_id)
REFERENCES public.gado (gado_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fkj14dwmpa6g037ardymqc2q4lj …Run Code Online (Sandbox Code Playgroud)