Ejecutar un procedimiento almacenado
En este ejemplo se muestra cómo ejecutar un procedimiento almacenado cuando se usa una conexión de base de datos. En el ejemplo se da por hecho que conoces los siguientes conceptos:
- Crear integraciones con Application Integration
- Tarea de conector
- Integration Connectors
- Procedimientos almacenados de bases de datos
Todos los procedimientos almacenados de una conexión de base de datos se muestran como acciones en la tarea del conector. Una acción es una función de primera clase que se pone a disposición de la integración a través de la interfaz del conector. Las acciones
te permiten hacer cambios en una o varias entidades, y varían de un conector a otro. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista Actions
estará vacía.
Los siguientes conectores admiten procedimientos almacenados:
- BigQuery
- Cloud SQL - MySQL
- Cloud SQL - PostgreSQL
- Cloud SQL - SQL Server
- MySQL
- Oracle DB
- PostgreSQL
- SQL Server
- MariaDB
- AlloyDB
- Copo de nieve
- Redshift
Ejemplo
Supongamos que tienes una base de datos MySQL con el siguiente procedimiento almacenado que obtiene la información de un cliente de la tabla 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
Este procedimiento almacenado devuelve el nombre y el correo del cliente especificado. Toma el ID de cliente a través de la variable de entrada p_customer_id
y devuelve el nombre y el correo electrónico en las variables de salida p_name
y p_email
, respectivamente.
Supongamos que quiere obtener el nombre y el ID de correo del cliente con customer_id=1001
.
Para ello, debe hacer lo siguiente:
- Crea una conexión a tu base de datos MySQL.
- Abre o crea una integración.
- Añade la tarea Connectors a tu integración.
- En la sección Configuración, haz clic en Configurar tarea para abrir el panel Configurar tarea de conector.
- Configura la tarea Connectors para que use la conexión que has creado en el paso 1.
- En la columna Conexión, selecciona la conexión que necesites de la lista de conexiones disponibles.
Después de seleccionar una conexión, aparecerá la columna Tipo con los valores
Entities
yActions
. Todos los procedimientos almacenados se mostrarán en Acciones. - Selecciona Acciones > get_customer_info.
- Haz clic en Hecho para completar la configuración de la conexión y cerrar el panel.
- En la columna Conexión, selecciona la conexión que necesites de la lista de conexiones disponibles.
- Haz clic en el elemento de tarea
Connectors
y, a continuación, enconnectorInputPayload
en la secciónTask Input
. - Especifica la siguiente carga útil de JSON en el campo
Default Value
:{ "customer_id": 1001 }
- Haz clic en el botón Probar de la barra de herramientas del editor de integraciones para ejecutar la integración.
Si la integración se ejecuta correctamente, la variable
connectorOutputPayload
tendrá una carga útil JSON similar a la siguiente:{ "name": "John", "email": "john@test.com" }