执行存储过程
以下示例展示了如何在使用数据库连接时运行存储过程。 该示例假定您熟悉以下概念:
数据库连接中的所有存储过程都会作为连接器任务中的操作显示给您。操作是先
类函数。动作可让您对实体进行更改,并且因连接器而异。不过,有可能
表示连接器不支持任何操作,在这种情况下,Actions
列表将为空。
以下连接器支持存储过程:
- BigQuery
- Cloud SQL - MySQL
- Cloud SQL - PostgreSQL
- Cloud SQL - SQL Server
- MySQL
- Oracle 数据库
- PostgreSQL
- SQL Server
- MariaDB
- AlloyDB
- Snowflake
- Redshift
示例
假设您有一个 MySQL 数据库,其中包含以下存储过程,该存储过程可获取
customers
表中的客户信息:
CREATE PROCEDURE get_customer_info (IN p_customer_id INT, OUT p_name VARCHAR(50), OUT p_email VARCHAR(255)) BEGIN SELECT name, email INTO p_name, p_email FROM customers WHERE id = p_customer_id; END
此存储过程会返回指定客户的名称和电子邮件地址。它会通过 p_customer_id
输入变量输入客户 ID,并分别在 p_name
和 p_email
输出变量中返回姓名和电子邮件地址。
现在,假设您要使用 customer_id=1001
获取客户的名称和电子邮件 ID,
您必须执行以下任务:
- 创建与 MySQL 数据库的连接。
- 打开或创建新的集成。
- 将“连接器”任务添加到您的集成中。
- 在配置部分中,点击配置任务以打开配置连接器任务窗格。
- 配置“连接器”任务以使用您在第 1 步中创建的连接。
- 在连接列中,从可用连接列表中选择所需的连接。
选择连接后,系统会显示类型列,其中包含值
Entities
和Actions
。系统将列出所有存储过程 查看操作部分。 - 依次选择操作 > get_customer_info。
- 点击完成以完成连接配置并关闭窗格。
- 在连接列中,从可用连接列表中选择所需的连接。
- 点击
Connectors
任务元素,然后点击Task Input
部分中的connectorInputPayload
。 - 在
Default Value
字段中指定以下 JSON 载荷:{ "customer_id": 1001 }
- 点击集成编辑器工具栏中的测试按钮以运行集成。
如果集成成功运行,
connectorOutputPayload
变量将具有类似于以下内容的 JSON 载荷:{ "name": "John", "email": "john@test.com" }