Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-1722

Inserir

Insere Permite inserir um novo registro em uma tabela do banco registro vinculados ao Banco de dados ou gerar uma requisição POST a partir de uma Fonte de dados.

Parâmetros

Nome

Tipo

Doc

Parâmetro 1Objeto/campos

Objeto contendo o registro com os dados a serem inseridos, quando configurado via objetos

ou, campos, contendo um ou mais dados a serem inseridos, quando configurados via campos


Image Added

Figura 1 - Bloco Inserir

Compatibilidade

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

Âncora
retorno
retorno

NotaOs parâmetros de entrada do bloco vão variar de acordo com os campos ou objeto selecionados no assistente da janela de configuração do bloco de programação. 

Retorno

Retorna um objeto contendo os campos selecionados da entidade. O retorno É 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 12). 

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

  • "Auto incremento", ou seja, o banco de dados é quem gera o valor da chave , e o retorno ocorrerá apenas ao utilizar os bancos Oraclee  e Firebird (Figura 1).
  • "Nova GUID", ou seja, o servidor (Java) da aplicação é quem gera o valor da chave , e o retorno sempre ocorrerá.


Image RemovedImage Added

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


Informações

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

Compatibilidade

Image Removed Servidor

Configuração

Características do bloco

É possível Inserir um registro na tabela do banco de dados de duas formas diferentes, via campos ou por objeto, essa configuração é feita a partir do campo Tipo (destaque 2 da figura 1).

Para configurar o bloco Inserir, clique no símbolo da engrenagem, isso fará com que a janela Configurar Bloco de Programação seja exibida. Após informar a entidade (destaque 1 da figura 1), é possível selecionar os campos que serão usados a partir dos atributos do objeto (Tipo Campos) ou apenas passando o Objeto, nesse caso, não será possível configurar os campos.

Image Removed

í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.


Image Added

Figura 3 Figura 2 - Inserção de dados via campos


Destaques da Figura 3:

  1. Entidade: abre a janela de seleção de entidades.Tipo: informa se o bloco será alimentado a partir dos atributos "Campos" da entidade ou a partir do "Objeto"
  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: clique para adicionar adiciona os campos da entidadeque 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 saber mais sobre o campo Modo de Consulta, acesse a figura 1.1 da documentação Assistente de consulta JPQL.

Exemplo 1 - Inserção via campos

Assim que selecionamos a entidade (destaque 1 da figura 2), o bloco é configurado por padrão com o tipo objeto, para que possamos mudar o tipo para campos, devemos clicar em + Novo campo (destaque 3 da figura 2) para adicionar os campos. Definidos os campos, basta inserir os valores que serão salvos no registro, confira na figura 3.

Image Removed

Figura 3 - Bloco de programação Inserir configurado via campos

Confira abaixo o resultado da inserção. 

Image Removed

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.

Âncora
exemplo1
exemplo1

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


Image Added

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.


Image Added

Figura 4Figura 3.1 - Registro sendo exibido na Grade

Exemplo 2 - Inserção

via objeto

Além da inserção via campos, também é possível inserir um registro passando um objeto já com seus atributos. No exemplo abaixo estamos criando um objeto a partir do bloco de programação Criar novo objeto.  

Image Removed

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.


Image Added

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.


Image Added

Figura 5

Figura 4 - Bloco de programação Inserir configurado via objeto

Confira abaixo o resultado da inserção. 

Image Removed

Figura 4.1 - Registro sendo exibido na Grade

Sobre o

Exemplo 3 - Uso do retorno do bloco

O

Visto que o bloco

de programação

Inserir

insere dados em

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".


Image Added

Figura 6 - Relacionamento utilizado nesse exemplo


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


Image Added

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

Índice

registro de duas formas diferentes, a primeira é passando os campos que se deseja inserir, como exemplificada na figura 1.1. A segunda forma é passando diretamente o objeto, figura 1.3.

Sobre Inserção(Insert SQL)

Insert é uma declaração da linguagem SQL, “Structured QueryLanguage” ou, em Português, Linguagem de Consulta Estruturada, que insere um ou mais registros em uma tabela em um banco de dados. para saber mais clique aqui.