Inserir / Insert

Inserir / Insert

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.