我在使用触发器和序列创建自动增量字段(如SERIAL)。我知道,只能用场上的顺序或序列类型,但我必须解决这个使用这两种方法(触发器和secuences)在Postgres中创建带有触发器和序列的自动增量字段
CREATE SEQUENCE AlimentosSequencia;
CREATE OR REPLACE FUNCTION AlimentoFuncion()
RETURNS "trigger" AS
$BODY$
BEGIN
New.id:=nextval('AlimentosSequencia');
Return NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
CREATE TRIGGER AlimentosTrigger
BEFORE INSERT
ON alimento
FOR EACH ROW
EXECUTE PROCEDURE AlimentoFuncion();
我尝试这个组合,但是这么想的作品,表alimento有两个字段只有整数id(带有触发器和序列的自动增量)和varchar名称。
有什么建议吗?
谢谢
只是给出了一些“它不起作用”的解释。 –
为什么你不想使用简单的SERIAL类型? –
您可以在'serial'列的相关序列上调用'nextval()'作其他用途。没有必要用触发器来使事情复杂化。除此之外,没有错误信息,你的问题只是噪音。请逐字加入。 –