본문 바로가기

IT/oracle&mysql

ORACLE 세션테이블 TEMPORARY TABLE 생성

SMALL

Session Table

Temporary Table

한 테이블에서 여러사용자가 추가,수정,삭제에 대해서 이루어 지는 경우 종종 LOCK 이 발생한다.

실무에서 경험하면 이러한 문제가 발생되어 해결에 대한 조언을 듣고 문제를 해결 하였다.


테스트용으로 만든 Table이 아직 집에는 없기 때문에 큰 도움은 되지 못하겠지만

사용법에 대해서 배워 갔으면 하는 바램이다.


이방법은 PLSQL에서 사용한 방법이다.

실무용 :  사용 중인 테이블의 데이터를 확인한다 

테스트 : 또는 테이블을 생성하여 데이타를 적재한다.

DECLARE 를 사용하여 테스트

보기와 같이 임시 테이블을 사용할 테이블 명을 사용하여 생성한다.


preserve ROWS : session이 끊기는 순간 row data 삭제

DELETE ROWS  : COMMIT  하는 순간 row data 삭제

View테이블과 동일할 수 있다고 생각하겠지만

임시 테이블은 DML 처리가 가능하다


테이블이 생성이 되었는지 확인한다.

이문제는 한 화면에서 데이타를 등록 하고 

다른 화면에서 동일 테이블에 추가 작업이 이루어 질 경우 Lock 이 발생하게 되는데

그 Lock 걸리는 현상을 막어주기 위함이다.


핵심

임시테이블을 생성함과 동시에 원 테이블의 데이타를 적재하고 

임시 테이블에 존재하는 데이타를 사용하여 DML을 처리한다



LIST