我在使用觸發器和序列創建自動增量字段(如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()'作其他用途。沒有必要用觸發器來使事情複雜化。除此之外,沒有錯誤信息,你的問題只是噪音。請逐字加入。 –