필수 조건 SQL 참조¶
데이터베이스 오브젝트 및 프로시저¶
다음 데이터베이스 오브젝트는 prerequisites.sql
파일을 통해 생성됩니다.
STATE.PREREQUISITES¶
전제 조건에 대한 데이터를 유지하는 내부 테이블입니다. 이 테이블은 앱 외부에서 액세스할 수 없습니다. 데이터를 읽으려면 아래의 PUBLIC.PREREQUISITES
뷰를 사용합니다. 테이블에 포함되는 열은 다음과 같습니다.
id STRING
title VARCHAR
description VARCHAR
learnmore_url VARCHAR
documentation_url VARCHAR
guide_url VARCHAR
custom_properties VARIANT
is_completed BOOLEAN
position INTEGER
PUBLIC.PREREQUISITES¶
이 뷰는 ADMIN
및 VIEWER
역할에 노출됩니다. 위 테이블의 데이터를 반환합니다. 행은 position
열을 기준으로 오름차순으로 정렬됩니다. 전제 조건 삽입은 setup.sql
내에서 수행됩니다. 하지만 업데이트 중에 삽입 과정을 건너뛸 수 있는 방식으로 수행되어야 합니다. 예:
EXECUTE IMMEDIATE
$$
DECLARE
prerequisites_exist NUMBER;
BEGIN
SELECT COUNT (*) INTO :prerequisites_exist FROM state.prerequisites;
IF (:prerequisites_exist = 0) THEN
INSERT INTO STATE.PREREQUISITES (ID, TITLE, DESCRIPTION, DOCUMENTATION_URL, POSITION)
VALUES
('1', '<Prerequisite name>', '<Prerequisite description>', 'Prerequisite url', 1)
END IF;
END;
$$;
또 다른 방법은 대신 병합 명령을 사용하고 일치 항목에 대해 아무 작업도 하지 않거나 업데이트하지 않는 것입니다.
PUBLIC.COMPLETE_PREREQUISITES_STEP()¶
ADMIN
사용자가 사용할 수 있는 프로시저입니다. 이 프로시저를 성공적으로 실행하기 위해 모든 전제 조건을 완료할 필요는 없습니다. 커넥터의 구성 상태가 INSTALLED
인 경우 커넥터의 상태가 다음으로 설정됩니다.
{
"status": "CONFIGURING",
"configurationStatus": "PREREQUISITES_DONE"
}
그렇지 않으면 효과가 없습니다.
이 프로시저를 사용하려면 커넥터가 CONFIGURING
상태이고 구성 상태가 FINALIZED
가 아닌 상태여야 합니다. 그렇지 않으면 예외가 throw됩니다.
가능한 원인은 다음과 같을 수 있습니다.
INVALID_CONNECTOR_STATUS
- connector_status가[CONFIGURING]
이 아닙니다.INVALID_CONNECTOR_CONFIGURATION_STATUS
- configuration_status가FINALIZED
입니다.UNKNOWN_ERROR
- 예기치 않은 문제가 발생함 - 예외 메시지가 전달되었습니다.
PUBLIC.UPDATE_PREREQUISITE (ID VARCHAR, IS_COMPLETED BOOLEAN)¶
이 프로시저는 주어진 전제 조건의 상태를 제공된 값으로 설정합니다. ADMIN
사용자만 사용할 수 있습니다. 유효성 검사는 COMPLETE_PREREQUISITES_STEP()
프로시저와 유사합니다.
가능한 원인은 다음과 같을 수 있습니다.
INVALID_CONNECTOR_STATUS
- 커넥터 상태가[CONFIGURING]
이 아닙니다.INVALID_CONNECTOR_CONFIGURATION_STATUS
- 커넥터 구성 상태가FINALIZED
입니다.PREREQUISITE_NOT_FOUND
- 주어진 ID의 전제 조건을 찾을 수 없습니다.
PUBLIC.MARK_ALL_PREREQUISITES_AS_DONE()¶
이 프로시저는 모든 전제 조건의 is_completed
열을 true
로 설정합니다. 유효성 검사는 COMPLETE_PREREQUISITES_STEP()
프로시저와 유사합니다.
가능한 원인은 다음과 같을 수 있습니다.
INVALID_CONNECTOR_STATUS
- 커넥터 상태가[CONFIGURING]
이 아닙니다.INVALID_CONNECTOR_CONFIGURATION_STATUS
- 커넥터 구성 상태가FINALIZED
입니다.