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
Entities
eActions
. 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
Connectors
e, de seguida, clique emconnectorInputPayload
na 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
connectorOutputPayload
tem um payload JSON semelhante ao seguinte:{ "name": "John", "email": "john@test.com" }