【发布时间】:2012-06-09 11:59:48
【问题描述】:
我是 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 操作中使用过程代码并将其称为触发器吗?
最好的问候,
【问题讨论】:
-
“返回触发器的程序”是什么意思?触发器附加到特定表,并在插入/更新/删除某些数据时执行。您可以使用过程来定义触发器。
标签: mysql triggers plpgsql procedure