Executar um procedimento armazenado
Este exemplo mostra como executar um procedimento armazenado quando está a usar uma ligação de base de dados. O exemplo pressupõe que está familiarizado com os seguintes conceitos:
- Criar integrações com a integração de aplicações
- Tarefa de conetor
- Conetores de integração
- Procedimentos armazenados da base de dados
Todos os procedimentos armazenados numa ligação à base de dados são expostos como ações na
tarefa do conetor. Uma ação é uma função de primeira classe que é disponibilizada à integração através da interface do conector. As ações permitem-lhe fazer alterações a uma ou mais entidades e variam de conetor para conetor. No entanto, é possível que um conector não suporte nenhuma ação, caso em que a lista Actions está vazia.
Os seguintes conetores são compatíveis com procedimentos armazenados:
- BigQuery
- Cloud SQL – MySQL
- Cloud SQL – PostgreSQL
- Cloud SQL – SQL Server
- MySQL
- Oracle DB
- PostgreSQL
- SQL Server
- MariaDB
- AlloyDB
- Snowflake
- Redshift
Exemplo
Considere que tem uma base de dados MySQL com o seguinte procedimento armazenado que obtém as informações de um cliente da tabela 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 procedimento armazenado devolve o nome e o email do cliente especificado. Recebe o ID de cliente através da variável de entrada p_customer_id e devolve o nome e o email nas variáveis de saída p_name e p_email, respetivamente.
Agora, suponhamos que quer obter o nome e o ID de email do cliente com customer_id=1001.
Tem de realizar as seguintes tarefas:
- Crie uma ligação à sua base de dados MySQL.
- Abra ou crie uma nova integração.
- Adicione a tarefa de conetores à sua integração.
- Na secção Configuração, clique em Configurar tarefa para abrir o painel Configurar tarefa do conector.
- Configure a tarefa Conetores para usar a ligação que criou no passo 1.
- Na coluna Associação, selecione a associação necessária na lista de associações disponíveis.
Depois de selecionar uma associação, a coluna Tipo é apresentada com os valores
EntitieseActions. Todos os procedimentos armazenados são apresentados em Ações. - Selecione Ações > get_customer_info.
- Clique em Concluído para concluir a configuração da associação e fechar o painel.
- Na coluna Associação, selecione a associação necessária na lista de associações disponíveis.
- Clique no elemento de tarefa
Connectorse, de seguida, clique emconnectorInputPayloadna secçãoTask Input. - Especifique o seguinte payload de JSON no campo
Default Value:{ "customer_id": 1001 } - Clique no botão Testar na barra de ferramentas do editor de integração para executar a integração.
Se a integração for executada com êxito, a variável
connectorOutputPayloadtem um payload JSON semelhante ao seguinte:{ "name": "John", "email": "john@test.com" }