先决条件 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
以外的状态。否则会引发异常。
可能的错误包括:
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
。