Permite inserir um registro vinculados ao Banco de dados ou gerar uma requisição POST a partir de uma Fonte de dados.


Figura 1 - Bloco Inserir

Compatibilidade

  • Bloco servidor: cronapi.database.Operations.insert()

Retorno

Retorna um objeto contendo os campos selecionados da entidade. É importante destacar que o retorno da chave primária (PK) junto com o objeto varia de acordo com o Tipo de PK e o Banco de dados utilizado (Figura 2). 

Assim, quando o tipo de chave primária (PK) é definida como:

  • Auto incremento, o banco de dados gera o valor da chave e o retorno ocorrerá apenas ao utilizar os bancos Oracle e Firebird.
  • Nova GUID, o servidor (Java) da aplicação gera o valor da chave e o retorno sempre ocorrerá.


Figura 2 - Retorno dos objetos ao utilizar banco de dados e tipo de PK distintos


Acesse o tópico Estrutura da Classe da documentação Diagrama de dados para entender mais sobre a propriedade Tipo de PK.

Características do bloco

Para configurar o bloco Inserir, clique no ícone de engrenagem (seta da Figura 3). Após esta ação, a janela do Assistente será exibida permitindo a configuração dos campos de forma visual, não necessitando de uma interação direta com códigos na linguagem JPQL ou SQL. As instruções geradas pelo Assistente podem ser configuradas a partir de uma Entidade, Fonte de dados ou SQL Nativo. Para mais detalhes consulte a documentação Assistente.


Figura 3 - Inserção de dados via campos


Destaques da Figura 3:

  1. Entidade: abre a janela de seleção de entidades.
  2. Tipos: define como será inserido o registro:
    • Campos: permite selecionar os campos que serão inseridos.
    • Objeto: esta opção não permite definir os campos, o bloco insere o registro com base no objeto informado. Veja o Exemplo 1 para mais detalhes de configuração.
  3. + Novo Campo: adiciona os campos que serão inseridos.
  4. Campos: lista de campos adicionados.
  5. Botão Excluir: apaga os campos inseridos. Exclua todos os campos para retornar ao tipo "Objeto".

Para informações das demais opções exibidas no Assistente do bloco Inserir, consulte o tópico Estrutura da Consulta da documentação Assistente de consulta.

Parâmetros

Parâmetro "N"

Os parâmetros da função são exibidos de acordo com o Tipo (destaque 2 da Figura 3) escolhido no Assistente de consulta. Isso implica que a cada campo selecionado, um parâmetro é apresentado no bloco da função.

  • Posição: 1 ou mais
  • Tipo: Depende do tipo do dado do atributo.

Exemplo 1 - Inserção por objeto

A função a seguir apresenta um exemplo de uso do bloco Inserir configurado com o Tipo "Objeto" (destaque 2 da Figura 3) a partir da classe "Aluno" do Diagrama de dados. O objeto em questão é passado com todos os parâmetros preenchidos diretamente no bloco Criar novo objeto


Figura 4 - Exemplo de uso do bloco Inserir passando um objeto como parâmetro


Na imagem abaixo, podemos observar o resultado de execução da função da Figura 4.


Figura 4.1 - Registro sendo exibido na Grade

Exemplo 2 - Inserção por campos

A função abaixo apresenta um exemplo de uso do bloco Inserir configurado com o Tipo "Campos" (destaque 2 da Figura 3) a partir da Fonte de dados "query156543". É importante destacar que, diferente do exemplo anterior, no qual ao selecionar uma classe é possível utilizar tanto o Tipo "Campos" como "Objeto", ao utilizar uma Fonte de dados apenas o Tipo "Campos" é permitido.

O bloco da função abaixo foi configurado conforme a Figura 3. Após a execução da função o registro será inserido no banco de dados.


Figura 5 - Exemplo de uso do bloco Inserir configurado com o Tipo Campos


Na imagem abaixo, podemos observar o resultado de execução da função da Figura 5.


Figura 5.1 - Registro sendo exibido na Grade

Exemplo 3 - Uso do retorno do bloco

Visto que o bloco Inserir retorna um objeto do registro passado (ver mais detalhes no tópico Retorno), podemos aproveitar esse retorno para alimentar outra tabela que possui como campo a chave estrangeira (FK) do primeiro objeto. No exemplo abaixo, estamos alimentando a tabela Cliente e, em seguida, a tabela Telefone que possui relacionamento 1toN com Cliente (Figura 6). O Tipo de PK (chaves primárias) das duas tabelas foram configurados como "Nova GUID".


Figura 6 - Relacionamento utilizado nesse exemplo


A função da Figura 6.1 apresenta o uso dos blocos Inserir e seus retornos.


Figura 6.1 - Utilizando o retorno do bloco Inserir


Destaques da Figura 6.1:

  1. A variável "cliente" recebe o retorno do bloco Inserir configurado com a classe Cliente. Neste bloco, não incluímos o campo "id", visto que ele será adicionado automaticamente pelo servidor da aplicação.
  2. Usamos o bloco se faça para fazer uma validação do retorno do primeiro bloco Inserir.
  3. A variável "telefone" recebe o retorno do segundo bloco Inserir, onde informamos manualmente os campos "id", "numero" e "fixo" da classe Telefone e, no parâmetro "cliente", inserimos o objeto de retorno do primeiro bloco Inserir. Neste bloco, diferente do primeiro, informamos o objeto completo. Uma outra opção, seria utilizar o bloco Obter campo e informar apenas o "id" do objeto.
  4. Em seguida, imprimimos as variáveis "cliente" e "telefone", com o retorno dos 2 blocos Inserir utilizados.
  5. O resultado do passo 4 pode ser visto no Console do Depurador.


Nesta página