Stored Procedure

Descubra mais sobre o componente Stored Procedure e saiba como utilizá-lo na Digibee Integration Platform.

O Stored Procedure realiza operações através de uma conexão com um banco de dados e retorna dados de procedimento como um único objeto de JSON. Para consultar quais os bancos de dados suportados por esse componente, leia a documentação Bancos de dados suportados.

Importante: cuidado com o consumo de memória para datasets grandes. BLOB e CLOB ainda não são suportados.

Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

Fluxo de Mensagens

Entrada

{
    "parameters": {
        "variable1": "value"
    }
}
  • :?{in;variable1} .

  • in: tipo de parâmetro (obrigatório).

  • variable1: nome da variável que veio com a entrada de JSON no corpo da solicitação (obrigatório).

Exemplo

Digamos que você queira realizar uma chamada a um procedimento com um parâmetro de entrada (Oracle, MySql, etc.):

  • call proc (:?{in; variable})

  • SQL Server:

  • exec proc :?{in; variable}

Importante: ainda não é possível configurar o tipo IN (VARCHAR, FLOAT, INTEGER, etc.).

Saída

  • :?{out;propertyToOutput;Type;java_type_library} .

  • out: tipo de parâmetro (obrigatório).

  • propertyToOutput: nome da propriedade que o componente mostrará no resultado (obrigatório).

  • Type: CURSOR, VARCHAR, NUMERIC, FLOAT, etc. (obrigatório).

  • java_type_library: caso você precise utilizar um procedimento em que OUT seja um Oracle CURSOR, será necessário especificar a seguinte Biblioteca: oracle.jdbc.OracleTypes (opcional).

Exemplo

Digamos que você queira realizar uma chamada a um procedimento com um parâmetro de entrada e saída (Oracle, MySql, etc.):

  • call proc (:?{in; variable}, :?{out; nameResultOut;VARCHAR})

SQL Server

  • exec proc :?{in; variable}, :?{out; nameResultOut;VARCHAR}

In Out

  • :?{in; variable|out;propertyToOutput;Type;java_type_library} .

  • in: tipo de parâmetro (obrigatório).

  • variable1: nome da variável que veio com a entrada de JSON no corpo da solicitação (obrigatório).

  • out: tipo de parâmetro (obrigatório).

  • propertyToOutput: nome da propriedade que o componente mostrará no resultado (obrigatório).

  • Type: CURSOR, VARCHAR, NUMERIC, FLOAT, etc. (obrigatório).

  • java_type_library: caso você precise utilizar um procedimento em que OUT seja um Oracle CURSOR, será necessário especificar a seguinte Biblioteca: oracle.jdbc.OracleTypes (opcional).

Exemplo

Digamos que você queira realizar uma chamada a um procedimento com um parâmetro de entrada e saída (Oracle, MySql, etc.):

  • call proc (:?{in; variable|out; nameResultOut;VARCHAR})

SQL Server

  • exec proc :?{in; variable|out; nameResultOut;VARCHAR}

Entrada

O componente espera uma mensagem no seguinte formato:

{
    "parameters": {
        "name": "value"
        ...
    }
}

Saída

{
	"out": {
		"rs-1": [
			{
				"column1": "admin",
				"column2": 1
			},
			{
				"column1": "jose",
				"column2": 2
			}
		]
	},
	"success": true
}

Saída com erro

{
	"success": false,
	"error": error_message,
	"message": cause_of_the_error
}

Atualizado