此功能有问题,出现此错误:
解析错误:语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE), 期望的标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)
CREATE OR replace FUNCTION insertar_evento()
returns TRIGGER AS $$
BEGINIF(tg_op = 'INSERT') then
INSERT INTO jur_eventos
(
titulo,
descripcion,
fecha_inicial,
hora_inicial,
fecha_final,
hora_final,
recurrencia,
periodo,
login_creacion,
login_asignado,
jur_procesojuridicoid,
jur_abogados_id,
asignacion,
fecha_recordar,
realizado,
procesojuridicoxaudiencia_id
)
VALUES
(
new.titulo,
new.descripcion_audiencia,
new.fecha_audiencia,
new.hora_audiencia,
new.fecha_audiencia,
new.hora_audiencia,
'N',
'A',
new.login_creacion,
new.login_asignado,
new.jur_procesojuridico_id,
new.jur_abogado_id,
false,
new.fecha_recordar,
false,
new.id
);ELSIF(tg_op = 'UPDATE') THEN UPDATE jur_eventos
SET descripcion = new.descripcion_audiencia,
fecha_inicial = new.fecha_audiencia,
hora_inicial =new.hora_audiencia,
fecha_final = new.fecha_audiencia,
hora_final=new.hora_audiencia,
login_creacion = new.login_creacion,
login_asignado = new.login_asignado ,
jur_procesojuridicoid = new.jur_procesojuridico_id,
jur_abogados_id = new.jur_abogado_id,
fecha_recordar = new.fecha_recordar,
realizado = new.cita_cumplida
WHERE procesojuridicoxaudiencia_id = old.id;
ENDIF;
RETURN NULL;
END;
$$ language plpgsql;
CREATE TRIGGER insertar_evento_audiencia
after INSERT OR UPDATE
ON jur_procesojuridicoxaudiencia FOR each row
EXECUTE PROCEDURE
insertar_evento();
答案 0 :(得分:0)
可能是BEGINIF
。它应该是两个词:BEGIN
和IF
。它们不是一个短语的一部分。
它也不是ENDIF
,而是END IF
。那是一个短语。