연습용더미1
440
2021-02-19 09:52:52
1
86

DB 데이터 입력 시 자기참조


db에 데이터를 넣을 때, 자기 자신의 다른 컬럼값을 default로 설정할 수 있나요?

예를 들어 A 테이블의 1, 2, 3, 4 컬럼에서 4의 컬럼의 default를 동일 데이터의 2 컬럼값으로 할 수 있는건가요? 있다면 어떻게 하는건가요?

현재 postgresql 9.6 사용중입니다.

0
  • 답변 1

  • 날라리개발자
    586
    2021-02-19 15:46:01 작성 2021-02-19 15:47:24 수정됨

    그렇게는 안됩니다

    컬럼 4가 값이 있을수도있고 없을수도있는데

    만약 값이 없다면 컬럼 2의 값을 4에 default 로 넣겠다는건가요?

    그건 insert 구문에서 처리하시면 됩니다

    insert into tbl_a (1,2,3,4)

    values ('1','2','3',CASE WHEN '4' == '' THEN '2' ELSE '4')

    이런식으로 넣어주면 될거같습니다


    참고로 insert 되기전까지는 데이터가 있는게 아니므로 자기참조라기보다는

    insert 되는 항목들의 파라미터를 참조한다고 봐야합니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.