先决条件 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;
$$;
另一种方法是使用合并语句,在匹配时不做任何操作(或更新)。
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()¶
此过程会设置 true 的所有先决条件的 is_completed 列。验证与 COMPLETE_PREREQUISITES_STEP() 过程相似。
可能的错误包括:
INVALID_CONNECTOR_STATUS– 连接器状态不是[CONFIGURING]。INVALID_CONNECTOR_CONFIGURATION_STATUS– 连接器配置状态是FINALIZED。