한번의 트랜잭션에서 두개의 쿼리실행이 가능할까요??? 0 4 1,529

by GRIZZ [2017.06.01 11:16:14]


사용하는 테이블은 총 3개

A테이블은 insert를 이용해 저장

B테이블은 기준 테이블로 데이터 수정 불가

C테이블은 조회를 하기 위해 새로 만든 테이블

 

 

트랜잭션 한번을 실행하면 

insert A into( XXX) values (xxx)을 통해 A테이블에 데이터를 넣습니다. 

 

그 후 A - B 조인된 쿼리를 조회해서 C에 인서트를 해주려 합니다. 

 

insert into C (

   select from AB)

 

이런식으로 할껀데 

 

 

트랜잭션을 추가하기 보단 한번에 끝내고 싶습니다. 혹시 방법이 있나요!?????

 

by jkson [2017.06.01 11:51:14]

프로시저를 사용하세요.


by 마농 [2017.06.01 13:04:30]

커밋이 수행되기 전까지 실행된 모든 문장이 하나의 트렌젝션입니다.
하나의 트렌젝션 안에서 여러 문장 실행 가능합니다.
혹시 원하는게 하나의 트렌젝션이 아닌 하나의 문장으로 실행하기를 원하는 것이라면?
INSERT ALL 구문으로 해결 가능할 수 있습니다.


by jkson [2017.06.01 13:07:30]

아마도 3-tier환경에서 쿼리 날리는 거 말씀하시는 것 같습니다. 1트랜잭션당 1쿼리 날리는 방식일 때 물어보시는 것 같네요.


by GRIZZ [2017.06.01 13:44:43]

jkson님 마농님 답변 감사합니다. 

 

프로시저를 이용하니 쉽게 해결됐습니다.

한번의 트랜잭션 실행에 한번의 쿼리 날리는 방식이었고, 프로시저에서 다 해주니 해결되었습니다. 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입