Cache DB는 로레벨 스크립트로 데이터 저장소인 글로벌에서 직접 읽어올 수 있게 해 준다.
인덱스 글로벌("^클래스이름I" 글로벌)을 이용해 해당 ROW의 ID값에 직접 액세스 하는 경우에는 다음과 같이 하면 된다.
가령, 다음과 같은 글로벌의 데이터가 있을 경우를 가정해 보자.
^MY.TABLEI("Key1"," 20061208111002570010029"," 0001",35)
위에서, "Key1"은 인덱스의 이름, 이어서 나오는 2개 항목 즉, " 20061208111002570010029"," 0001"는 인덱스를 이루는 컬럼의 값들을, 끝으로 나오는 35는 해당 ROW의 IDKey값을 나타낸다.
아래와 같은 Cache Object Script를 이용하여 글로벌 데이터에 곧바로 접근할 수 있다.
>set key=-1
>set next=$O(^MY.TABLEI("Key1"," 20061208111002570010029"," 0001",key))
>w next
35
설명: 맨 마지막에 id란에 가장 첫번째 값을 접근하는 경우, -1을 넣고 $O(혹은 $Order)를 사용하면 그 다음의 subscript값을 next 변수에 넣어 주게 된다.
이렇게 하여 글로벌에 직접 액세스하므로, 오류처리 루틴이 빠지는 대신, 그만큼 빠른 속도로 접근할 수가 있게 된다.
|