앵커된 행 유형에 대한 앵커 오브젝트 해결

ROW 키워드를 포함하는 앵커된 유형의 앵커 오브젝트는 ANCHOR절의 컨텍스트 및 이름에 있는 ID 수와 컨텍스트에 따라 다양한 오브젝트를 나타낼 수 있는 이름으로 지정됩니다.

오브젝트에는 다음과 같은 내용이 포함됩니다.
  • SQL 변수
  • SQL 매개변수
  • 전역 변수
  • 모듈 변수
  • 테이블
앵커 오브젝트가 해결되는 방법은 ANCHOR절을 사용하여 명령문의 컨텍스트 및 앵커 오브젝트 이름에 있는 ID의 수에 따라 다릅니다.
  • 앵커 오브젝트 이름이 1 ID로 지정되면 이름이 SQL 변수, SQL 매개변수, 모듈 변수, 전역 변수, 테이블 또는 뷰를 나타낼 수 있습니다.
  • 앵커 오브젝트 이름이 2 ID로 지정되면 이름이 레이블 규정 SQL 변수, 루틴 규정 SQL 매개변수, 스키마 규정 전역 변수, 모듈 변수, 스키마 규정 테이블 또는 스키마 규정 뷰를 나타낼 수 있습니다.
  • 앵커 오브젝트 이름이 3 ID로 지정되면 이름이 현재 서버 이름 및 스키마로 규정되는 전역 변수, 현재 서버 이름 및 스키마로 규정되는 테이블, 현재 서버 이름 및 스키마로 규정되는 뷰 또는 스키마 규정 모듈 변수를 나타낼 수 있습니다.
ANCHOR절이 복합 명령문 내의 SQL 변수 선언에 사용되는 경우에만 SQL 변수가 앵커 오브젝트 이름에 대한 후보가 됩니다. ANCHOR절이 SQL 루틴 본문에서 사용된 복합 명령문 내의 SQL 변수 선언에 사용되는 경우에만 SQL 매개변수가 앵커 오브젝트 이름에 대한 후보가 됩니다. 1 ID를 갖는 앵커 오브젝트 이름 해결은 다음 단계를 사용하여 수행됩니다.
  1. ANCHOR절이 복합 명령문의 SQL 변수 선언에 있는 경우, 가장 안쪽에 있는 중첩된 복합에서 시작해서 가장 바깥쪽에 있는 복합까지 일치 SQL 변수 이름을 검색하십시오.
  2. ANCHOR절이 루틴 본문 내의 복합 명령문의 SQL 변수 선언에 있는 경우, 루틴에 대한 일치 SQL 매개변수 이름을 검색하십시오.
  3. ANCHOR절이 모듈 오브젝트 정의에 사용되는 경우, 모듈 내에서 일치 모듈 변수 이름을 검색하십시오.
  4. 아직 찾지 못한 경우, 현재 스키마에서 일치하는 이름을 가지는 테이블 또는 뷰를 검색하십시오.
  5. 아직 찾지 못한 경우, SQL 경로에서 일치하는 전역 변수 이름을 가지는 스키마 전역 변수를 검색하십시오.
2 ID를 가지는 앵커 오브젝트 이름 해결은 다음 단계를 사용하여 수행됩니다.
  1. ANCHOR절이 복합 명령문의 SQL 변수 선언에 있는 경우, 가장 안쪽에 있는 중첩된 복합에서 시작해서 가장 바깥쪽에 있는 복합까지 일치 규정된 SQL 변수 이름을 검색하십시오.
  2. ANCHOR절이 루틴 본문 내의 복합 명령문의 SQL 변수 선언에 있는 경우, 앵커 오브젝트 이름의 첫 번째 ID가 루틴의 이름과 일치하면 루틴에 대한 일치 SQL 매개변수 이름을 검색하십시오.
  3. ANCHOR절이 모듈 오브젝트 정의에 사용되고 첫 번째 ID가 해당 모듈의 모듈 이름과 일치하는 경우, 두 번째 ID와 일치하는 모듈 내에서 일치 모듈 변수 이름을 검색하십시오.
  4. 아직 찾지 못한 경우, 스키마 이름으로 첫 번째 ID를 사용하고 테이블 또는 뷰로 두 번째 ID를 사용하여 테이블 또는 뷰를 검색하십시오.
  5. 아직 발견되지 않은 경우, 스키마 이름으로 첫 번째 ID를 사용하고 전역 변수 이름으로 두 번째 ID를 사용하여 전역 변수를 검색하십시오.
  6. 발견되지 않고 모듈이 3단계에서 검색되지 않은 경우, 첫 번째 ID와 일치하는 이름으로 SQL 경로에 대한 모듈을 검색하십시오. 발견되면 두 번째 ID를 사용하여 모듈에서 일치하는 발행된 모듈 변수 이름을 검색하십시오.
  7. 6단계에서 SQL 경로를 사용하여 모듈을 찾을 수 없는 경우, 첫 번째 ID의 이름과 일치하는 모듈 발행 별명을 검사하십시오. 찾은 경우, 두 번째 ID를 사용하여 모듈 발행 별명으로 식별되는 모듈에서 일치하는 발행된 모듈 변수 이름을 검색하십시오.
3 ID를 가지는 앵커 오브젝트 이름 해결은 다음 단계를 사용하여 수행됩니다.
  1. ANCHOR절이 모듈 오브젝트 정의에 사용되고 첫 번째 2 ID가 스키마 이름 및 해당 모듈의 모듈 이름과 일치하는 경우, 마지막 ID와 일치하는 이름으로 모듈 변수를 검색하십시오.
  2. 아직 찾지 못하고 첫 번째 ID가 현재 서버 이름과 동일한 경우, 스키마 이름으로 두 번째 ID를 사용하고 테이블 또는 뷰 이름으로 세 번째 ID를 사용하여 테이블 또는 뷰를 검색하십시오.
  3. 아직 찾지 못하고 첫 번째 ID가 현재 서버 이름과 동일한 경우, 스키마 이름으로 두 번째 ID를 사용하고 전역 변수 이름으로 세 번째 ID를 사용하여 전역 변수를 검색하십시오.
  4. 찾을 수 없고 1단계에서모듈을 검색하지 않은 경우, 첫 번째 ID를 스키마 이름으로 사용하고 두 번째 ID를 모듈 이름으로 사용하여 발행된 모듈 변수를 검색하고, 이러한 모듈이 있는 경우 세 번째 ID를 사용하여 모듈에서 일치하는 발행된 변수 이름을 검색하십시오.