我们已经在linux系统上安装了Postgres8,我正在将数据和触发器从我们的windows版本复制到这个新版本。但是,默认情况下没有安装plpgsql,因此复制触发器源失败。我只能选择C语言或内部语言;除非要求DBA安装plpgsql,否则任何人都可以帮助我转换:
CREATE OR REPLACE FUNCTION "datestampTrigger"()
RETURNS "trigger" AS
'BEGIN
-- check for datecreated
IF NEW.datecreated IS NULL THEN
NEW.datecreated := ''now'';
END IF;
NEW.datelastmodified := ''now'';
RETURN NEW;
END;'
LANGUAGE plpgsql VOLATILE;
最佳答案
在大多数linux系统中,我遇到的plpgsql实际上安装在系统上,但不包括在数据库模板中。在数据库中执行以下“激活”plpgsql。
CREATE LANGUAGE plpgsql;
关于c - 用C编写的pgAdmin的Datestamp触发器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5435679/