执行存储过程
此示例展示了如何在使用数据库连接时运行存储过程。 本示例假定您熟悉以下概念:
数据库连接中的所有存储过程都会作为连接器任务中的操作显示。操作是通过连接器接口提供给集成的一级函数。通过操作,您可以更改一个或多个实体,并且更改因连接器而异。但是,连接器可能不支持任何操作,在这种情况下,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 步中创建的连接。
- 在连接列中,从可用连接列表中选择所需的连接。
选择连接后,系统会显示 Type 列,其中包含值
Entities
和Actions
。所有存储过程将在操作中列出。 - 依次选择操作 > get_customer_info。
- 点击完成以完成连接配置并关闭窗格。
- 在连接列中,从可用连接列表中选择所需的连接。
- 点击
Connectors
任务元素,然后点击Task Input
部分中的connectorInputPayload
。 - 在
Default Value
字段中指定以下 JSON 载荷:{ "customer_id": 1001 }
- 点击集成编辑器工具栏中的 Test 按钮以运行集成。
如果集成运行成功,
connectorOutputPayload
可访问性的 JSON 载荷将如下所示:{ "name": "John", "email": "john@test.com" }