데이터베이스 링크의 사용

tbPSM 프로그램에서 데이터베이스 링크를 사용하는 방법을 설명합니다.

tbPSM 프로그램에서 데이터베이스 링크를 통해 접근할 수 있는 데이터베이스 객체의 종류는 다음과 같습니다.

  • 테이블(LOB 타입의 컬럼에는 접근할 수 없습니다.)

  • 프로시저

  • 함수

  • 패키지

뷰, 오브젝트 타입, 시퀀스 등 위에 명시된 항목 외의 데이터베이스 객체에 대한 접근은 현재 미지원 상태 입니다.

테이블 참조

원격 데이터베이스의 테이블에 접근하여 정보를 조회하거나 컬럼 타입을 사용할 수 있습니다. 로컬 데이터베 이스 테이블에 접근하는 것과 동일하게 사용할 수 있습니다. 테이블을 참조하는 방법은 다음과 같습니다.

["스키마  이름".]"테이블  이름"@"링크  이름" [."컬럼  이름"%TYPE | %ROWTYPE]

다음은 원격 테이블 참조의 예입니다.

DECLARE
    name VARCHAR2(20);
BEGIN
    INSERT INTO emp@tlink VALUES (1, 'Susan');
    SELECT name INTO name FROM emp@tlink WHERE rownum = 1;
    UPDATE emp@tlink SET name = 'Peter' WHERE id = 1;
    DELETE FROM emp@tlink WHERE id = 1;
END;
/

다음은 원격 테이블 컬럼 %TYPE과 %ROWTYPE 참조의 예입니다.

서브 프로그램 호출

원격 데이터베이스에 저장된 (패키지) 함수와 (패키지) 프로시저를 호출할 수 있습니다. 로컬 데이터베이스 서 브 프로그램에 접근하는 것과 동일하게 사용할 수 있습니다. 서브 프로그램을 호출하는 방법은 다음과 같습니다.

다음은 원격 서브 프로그램 호출의 예입니다.

복합 타입 참조

원격 데이터베이스의 패키지에 선언된 복합 타입 을 참조할 수 있습니다. 이러한 복합 타입은 로컬 tbPSM 프 로그램의 선언부, 서브 프로그램의 파라미터, 함수의 반환 타입으로 사용할 수 있습니다.

복합 타입을 선언부, 서브 프로그램의 파라미터나 함수의 반환 타입으로 사용하는 경우 컴파일 시점에 원 격 복합 타입의 구조 정보가 로컬에 저장되며, 이후 실행 시점에는 저장된 구조 정보를 기준으로 처리된 다. 이 경우 원격지의 복합 타입이 변경되더라도, 로컬 프로그램은 기존 정보에 따라 동작하므로 타입 불 일치가 발생할 수 있습니다.

반면, 복합 타입을 인자로 하여 원격 서브 프로그램을 호출할 때는 실행 시점마다 원격지의 복합 타입 정 의를 참조하여 타입 일치 여부를 확인합니다. 따라서 원격지 타입이 변경되어 타입 불일치 시 오류가 발생할 수 있습니다. 이는 복합 타입이 런타임에 동적으로 참조됨을 의미합니다.

circle-info

주의

데이터베이스 링크의 대상이 Tibero가 아닌 다른 DBMS라면 복합 타입을 원격 서브 프로그램의 파 라미터나 반환 타입으로 사용할 수 없습니다.

다음은 복합 타입 참조의 예입니다.

다음은 복합 타입을 인자로 하여 원격 서브 프로그램 호출의 예입니다.

Last updated