我是MySQL程序的新手。我需要模仿我通常用PLpgSQL做的一些代码,如下所示:
DROP FUNCTION IF EXISTS "aprtr_controlo_tabelas_ins_upd" () CASCADE;
CREATE OR REPLACE FUNCTION "aprtr_controlo_tabelas_ins_upd" ()
RETURNS trigger AS
$BODY$
BEGIN
IF (TG_OP = 'INSERT') THEN
NEW.data_ult_actual := current_timestamp;
NEW.id_utiliz_ins := current_user;
RETURN NEW;
ELSEIF (TG_OP = 'UPDATE') THEN
NEW.data_ult_actual := current_timestamp;
NEW.id_utiliz_upd := current_user;
RETURN NEW;
END IF;
RETURN NULL;
END;
$BODY$
LANGUAGE PLpgSQL
CALLED ON NULL INPUT
VOLATILE
EXTERNAL SECURITY DEFINER;
MySQL可以编写返回触发器的程序吗?或者更好的是,我可以使用过程代码并在INSERT或UPDATE操作中将其命名为触发器吗?
最诚挚的问候,
答案 0 :(得分:2)
MySQL仅支持特定数据类型作为函数返回类型。根据MySQL文档,trigger
不是数据类型。自定义对象作为数据类型不是AFAIK的功能。支持的数据类型详细here。