Oracle

INSERT문 에서 새롭게 알게된 문법

아롱사태남 2014. 4. 15. 13:08
반응형

알기전 ) 데이터 추가시

INSERT INTO foo(a,b,c) VALUES ('A','B','C');

 

 

 

 

알게된 방식 )

 

INSERT INTO foo (a,b,c) SELECT a , b , c FROM foo WHERE seq = ?

 

 

 

 

위의 문법 사용시 주의 사항

a,b,c의 값과 select절의 a,b,c의 값이 일치 해야지 된다   그리고  이 문법을 사용하게 된 이유는

 

학원에서 공부할때와는 다르게 실무에서는

form 의 값을 추가할 테이블 이외의 HISTORY라는 테이블을 하나더 만든다 사용자의 수정을 햇는지 추가를 했는지 삭제를 했는지 를 얻기 위해서이다 . 그리하여 강제적으로 INSERT문을 사용하여 HISTORY테이블에 데이터를 저장한다.

 

 

추가 & 수정할 때는 파라미터 즉 request를 받아서서 그 값들을  setString 에 넣어주면 됐다

하지만 삭제페이지에서는 파라미터 값을 seq(일련번호) 값 밖에 가져오지 않아 노가다가 필요하다

하지만 위의 문법을 사용시 원레 하던방향대로 seq값 하나만을 이용하여 HISTORY테이블에 데이터 추가 및  정보에 대한 데이터를 지울 수 있다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

반응형