안녕하세요.
오라클 입문자로 프로시저를 공부 중입니다.
그런데 궁금증이 생겨서 질문드립니다.
A라는 테이블에 수십만건의 데이터를 insert 하려고 하는데...
A테이블에 1 row 삽입 시작시간부터 마지막 n row 삽입된 종료시간을
삽입이 이상없이 종료된 시점에...
B테이블(history성)에 저장을 하고 싶습니다.
즉, 프로그램에서 루프를 돌면서 수십만건의 데이터를,
A테이블에 데이터 삽입을 시작하고...
데이터 삽입이 이상없이 다 완료되면 B테이블에 데이터 삽입 시작 시간, 데이터 삽입 종료 시간을
저장하고 싶습니다.
누군가 프로시저로 만들어야 한다고 하는데...
하나의 프로시저 안에서 수십만건의 데이터를 A테이블에 넣고...
A테이블 삽입이 이상없이 다 완료되면 B테이블에 데이터 삽입시작시간, 종료시간을
삽입하는 로직을 작성할 수 있나요?
하나의 프로시저 안에서 저런게 안된다면
단순히 A 테이블의 트랜잭션 시작 시점의 시간 및 종료 시점의 시간을 변수에 각각 저장해놓고
SP_B_HISTORY라는 프로시저를 하나 만들어 그 프로시저에 파라미터로 시작시간,종료시간 던져서
B테이블에 삽입하는 로직만 작성할 수 있는건가요?
제가 이제 막 공부하는 입장이라.... 어떤게 가장 좋은 방법인지...가능은 한건지...
감이 오질 않네요.
선배님들의 고견 부탁드립니다.
감사합니다.
|