- Created by Unknown User (557058:4b1b311a-8636-4ab4-87d8-6a41e4d941bf), last modified by Igor Andrade on 03/05/2024
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:
- Entidade: abre a janela de seleção de entidades.
- 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.
- + Novo Campo: adiciona os campos que serão inseridos.
- Campos: lista de campos adicionados.
- 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:
- 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.
- Usamos o bloco se faça para fazer uma validação do retorno do primeiro bloco Inserir.
- 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.
- Em seguida, imprimimos as variáveis "cliente" e "telefone", com o retorno dos 2 blocos Inserir utilizados.
- O resultado do passo 4 pode ser visto no Console do Depurador.
Nesta página