반응형

안녕하세요.

데이터 INSERT를 할때 자동으로 시퀀스를 생성하고 싶었습니다.

상황은 기존의 컬럼은 존재하나 INSERT 시 자동으로 시퀀스를 만들기 위해서 컬럼의 제약조건을 변경합니다.

 

테이블 이름은 tbl_board이고 컬럼 이름은 bno 입니다.

아래 코드를 활용해서 시퀀스를 생성해주세요.

  --ALTER TABLE tbl_board ADD COLUMN bno INTEGER;	//키 컬럼이 없다면 입력, 기존 키 컬럼 있다면 무시
  CREATE SEQUENCE board_bno_seq OWNED BY tbl_board.bno;
  ALTER TABLE tbl_board ALTER COLUMN bno SET DEFAULT nextval('board_bno_seq');
  UPDATE tbl_board SET bno = nextval('board_bno_seq');

시퀀스가 생성이 되었다면 INSERT 구문은 다음과 같습니다.

INSERT INTO public.tbl_board(
	title, content, writer, regdate, updatedate)
	VALUES ('테스트제목', '테스트내용', 'user00', now(), now());

INSERT 시 별도의 bno 값은 안 넣어도 자동으로 시퀀스가 생성이 되겠습니다.

 

감사합니다.

 

반응형

+ Recent posts