엑셀파일을 대량등록 하고 있습니다.
문제는 wr_id 입니다.
wr_id 셀은 직접 원하는 번호로 입력 불가 한지요?
여기에 좀더 섬세하게 설계 한다면
만약 엑셀파일에 code 가 있으면 wr_id에 넣고
없으면 자동으로wr_id를 할당 해라 입니다만...
wr_id 셀은 직접 원하는 번호로 입력 불가 한지요?
여기에 좀더 섬세하게 설계 한다면
만약 엑셀파일에 code 가 있으면 wr_id에 넣고
없으면 자동으로wr_id를 할당 해라 입니다만...
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 6개
그다음에 필드를 다 불러 오는 와중에 if 문으로 code 가 있는 것을 채크 해서 집어 넣으시면 되는 작업 이네요
일반 필드라면 if문을 사용하여 입력 할 수 도 있겠는데요
문제는 그누의 wr_id 필드 입니다.
( PRIMARY PRIMARY wr_id )
그누보드 설계상 wr_id 필드는 유일한 번호로 자동입력 되는걸로 알고 있구요
그러니까 하나씩 개별입력 할때는 자동으로 입력되도록 하고
이미 입력된 데이타를 엑셀로 다운로드후 약간에 수정후 다시 대량 등록 할때 wr_id가 절대 변하면 안되거든요.
해당 wr_id로 update 시키면 되는 거죠. insert가 아니라..
wr_id 값이 없으면 insert 시키고
클라이언트가 특정 필드값을 자주 바꿉니다.
해서 db 전체를 엑셀 형식으로 다운받은후
엑셀에서 일괄수정후
csv 변환후 다시 일괄 업로드 하는 프로세스 입니다.
이때 wr_id 값은 절대 변하지 않아야 하거든요 이유는 다른 테이블에 그 정보를 가지고 있기고 사용되기 때문이지요.
어째든 균이님 힌트데로 다시 기획 해보겠습니다.
데이타가 있는지 여부를 보통 select count(*) 로 확인하나요?
좀더 좋은 쿼리문이 있을것도 같은데...
csv로 저장할 때 기존자료는 wr_id가 있을 것이고
추가한 자료는 wr_id가 없는 형태가 되도록 하면 되겠습니다
이것을 읽어서 update할 것인가 insert할 것인가 판단하는 것이죠
문제는 유저가 엑셀파일 정리할때 wr_id 항목을 직접 입력 할 수 도(실수또는목적을가지고) 있다는점입니다.
어째든 무조건 인서트 한다고만 생각 했는데
업데이트 또는 인서트를 판단후 데이타를 입력 한다고 생각 해보니 여러가지가 해결 됬네요...
데이타가 있는지 판단할때 select count(*) 가 가장 빠르고 부담 없는것인지 항상 의문 입니다.