트리거 및 시퀀스를 사용하여 자동 증가 필드 (예 : SERIAL)를 만들려고합니다. 난 단지 필드에서 시퀀스 또는 SERIAL 유형을 사용할 수 있습니다,하지만 난이트리거 및 시퀀스를 사용하여 자동 증가 필드 만들기 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();
나는이 조합을 시도하지만 나던 작품 (트리거와 secuences를) 두 가지 방법을 사용하여 해결해야하는 것을 알고, 테이블 음식은 두 개의 필드가 있습니다 정수 ID (트리거 및 시퀀스가있는 자동 증가) 및 varchar 이름입니다.
의견이 있으십니까?
감사
"작동하지 않습니다"에 대한 설명 만 추가하면됩니다. –
간단한 SERIAL 유형을 사용하려는 이유는 무엇입니까? –
다른 목적으로'serial' 열의 연관된 순서에서'nextval()'을 호출하면됩니다. 방아쇠로 물건을 복잡하게 할 필요가 없습니다. 그 외에, 오류 메시지없이 귀하의 질문은 단지 소음입니다. 축 어적으로 포함 시키십시오. –