前提条件 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;
$$;
別の方法として、代わりにmergeステートメントを使用し、一致した場合に何もしない(または更新しない)という方法があります。
PUBLIC.COMPLETE_PREREQUISITES_STEP()¶
ADMIN
ユーザーが利用できるプロシージャ。このプロシージャを正常に実行するために、すべての前提条件が完了している必要はありません。コネクタの構成ステータスが INSTALLED
の場合、コネクタのステータスは次のように設定されます。
{
"status": "CONFIGURING",
"configurationStatus": "PREREQUISITES_DONE"
}
そうでない場合は効果はありません。
このプロシージャでは、コネクタが CONFIGURING
ステータスであり、構成ステータスが FINALIZED
以外である必要があります。そうでない場合は例外がスローされます。
考えられるエラーは次のとおりです。
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
です。