MSSQL을 Oracle로 옮기는 작업 중 메뉴에 대한 계층 쿼리를 수정해야 하는 상황이 발생했다. 기존에 MSSQL에서는 테이블 변수를 생성해서 전체 테이블을 담고, MaxLevel을 구한 후, ParentId와 본인의 ID를 통하여 반복문을 사용하여 계층 구조를 만들거나, WITH절을 사용하여 계층 형태로 구성을 하였는데 Oracle에서는 위의 방법이 생각처럼 쉽지가 않았다. Oracle의 Global Temporary Table 오라클에서는 MSSQL의 테이블 변수처럼 사용할 수 있는 Global Temporary Table(편의상 GTT라고 부르겠다)이란 것이 있다. GTT는 쉽게 설명하면 세션 혹은 트랜잭션 수명 주기와 관련이 있는 임시 테이블이라고 생각하면 되겠다. GTT를 만드는것에는 2가지..