前提条件 SQL リファレンス¶
データベースオブジェクトとプロシージャ¶
次のデータベースオブジェクトは、ファイル prerequisites.sql を通して作成されます。
STATE.PREREQUISITES¶
前提条件に関するデータを保持するための内部テーブル。このテーブルはアプリ外からはアクセスできません。データを読むには、以下の PUBLIC.PREREQUISITES ビューを使用します。テーブルには次の列が含まれます。
id STRINGtitle VARCHARdescription VARCHARlearnmore_url VARCHARdocumentation_url VARCHARguide_url VARCHARcustom_properties VARIANTis_completed BOOLEANposition 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です。