저는 Postgres에 초보자입니다. Pgadmin III를 사용하고 'alter sequence'의 스테이트먼트에서 값을 매개 변수화해야합니다. 이 코드 실행을 시도 :Postgresql을 사용하여 시퀀스의 시작 값을 매개 변수화하는 방법
select coalesce(MAX(ID)+1,1) as max into myTempTable from myTable;
EXECUTE immediate 'ALTER SEQUENCE mySequence INCREMENT BY 1 START WITH ' || max || ' MINVALUE 1 NO CYCLE';
을했지만 작동하지 않습니다. 뭐가 문제 야? 함수에 캡슐화해야합니까? 감사합니다. 동적 SQL에 대한
CREATE SEQUENCE testseq;
DO $$
DECLARE
maxid INT;
BEGIN
SELECT coalesce(MAX(ID)+1,1) FROM myTable INTO maxid;
EXECUTE 'ALTER SEQUENCE testseq RESTART WITH '|| maxid;
END;
$$ LANGUAGE PLPGSQL