¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Importância e consequências da declaração de coleção em tabelas de banco de dados

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Qual é o significado de uma declaração de coleção para uma tabela de banco de dados?

Por que não se deve fazer um aapend depois de adicionar uma linha a uma tabela de banco de dados usando COLLECT?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá,

O APPEND permite duplicatas, nunca verifica se os registros já existem ou não.

O COLLECT verifica os registros e insere o registro se não existir, se já existir, a declaração do collect altera os dados do registro (adiciona valores aos campos numéricos) e insere na tabela interna.

Pontos de recompensa, se útil.

Obrigado,

Chandu.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

COLETAR

Insere linhas em uma tabela interna de forma resumida.

Sintaxe

COLLECT <linha> INTO <itab>.

A instrução primeiro verifica se a tabela interna contém uma entrada com a mesma chave. Se não, age como um INSERT. Se já existe uma entrada na tabela com a mesma chave, COLLECT não insere uma nova linha. Em vez disso, adiciona os valores dos campos numéricos da área de trabalho <linha> aos valores nos campos correspondentes da entrada da tabela existente.

ANEXAR

Anexa uma ou mais linhas ao final de uma tabela de índices.

Sintaxe

APPEND <linha>|LINES OF <jtab> TO <itab>.

Anexa uma linha <linha> ou várias linhas de uma tabela interna <jtab> à tabela de índices <itab>.

Espero que isso te ajude,

Saudações,

Arunsri

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Ambas declarações são utilizadas para popular dados em uma tabela interna. Quando a declaração APPEND é usada, um novo registro é adicionado à tabela interna e quando a declaração COLLECT é usada, o programa verifica a chave para campos de caracteres e para os mesmos campos de caracteres serão somados todos os campos numéricos.

Por exemplo:

APPEND line_spec A itab ORDENADO POR comp resultado.

Adição:

... ORDENADO POR comp

Efeito

Esta declaração adiciona uma ou mais linhas line_spec a uma tabela de índices interna itab. Se itab é uma tabela padrão, você pode usar ORDENADO POR para ordenar a tabela de uma maneira específica. Use resultado ao adicionar uma única linha a partir da versão 6.10 para estabelecer uma referência à linha adicionada na forma de um símbolo de campo ou uma referência de dados.

Para os tipos de tabelas individuais, a adição é feita da seguinte forma:

Para tabelas padrão, as linhas são adicionadas diretamente e sem verificar o conteúdo da tabela interna.

Para tabelas ordenadas, as linhas são adicionadas somente se corresponderem à sequência de ordenação e não criarem entradas duplicadas com uma chave de tabela única. Caso contrário, é gerada uma exceção não tratável.

Para tabelas hash, não podem ser adicionadas linhas.

A declaração APPEND estabelece sy-tabix no Índice de tabela da última linha adicionada.

Adição

... ORDENADO POR comp

Efeito

Essa adição só é permitida se for especificada uma área de trabalho wa e se for utilizada uma tabela padrão, onde wa deve ser compatível com o tipo de linha da tabela. Você pode especificar o componente comp conforme mostrado na seção Especificação de componentes, no entanto, só pode acessar um único componente e não atributos de classes usando o seletor de componente de objeto.

A declaração é executada em duas etapas:

Começando na última linha, é procurada uma linha na tabela em que o valor do componente comp seja maior ou igual ao valor do componente comp de wa. Se existir tal linha, a área de trabalho wa é incluída após essa linha. Se não existir tal linha, a área de trabalho wa é incluída antes da primeira linha. O Índice de tabela de todas as linhas seguintes às linhas incluídas aumenta em um.

Se o número de linhas antes da declaração for maior ou igual ao número especificado na definição da tabela interna na adição TAMANHO INICIAL, a última linha recém-criada é removida.

Nota

Quando apenas a declaração APPEND é utilizada com a adição ORDENADO POR para preencher uma tabela interna, essa regra resulta em uma tabela interna que não contém mais linhas do que as especificadas em sua definição após TAMANHO INICIAL e que está ordenada em ordem decrescente pelo componente comp (classificação).

Deve-se usar a declaração SORT em vez de APPEND ORDENADO POR.

Exemplo

Criação de um ranking dos três voos de uma conexão que mostra os assentos mais livres.

PARÂMETROS: p_carrid TIPO sflight-carrid,

p_connid TIPO sflight-connid.

DADOS: INÍCIO DE assentos,

fldate TIPO sflight-fldate,

seatsocc TIPO sflight-seatsocc,

seatsmax TIPO sflight-seatsmax,

seatsfree TIPO sflight-seatsocc,

FIM DE assentos.

DADOS seats_tab TIPO TABELA PADRÃO DE assentos

TAMANHO INICIAL 3.

SELECIONAR fldate seatsocc seatsmax

DE sflight

EM seats

ONDE carrid = p_carrid E

connid = p_connid.

seats-seatsfree = seats-seatsmax - seats-seatsocc.

APPEND seats A seats_tab ORDENADO POR seatsfree.

FIM SELECIONAR.

COLLECT

Sintaxe

COLLECT wa EM itab resultado.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Ambas declarações são usadas para popular dados em uma tabela interna. Quando a declaração APPEND é usada, um novo registro é adicionado à tabela interna e quando a declaração COLLECT é usada, o programa verificará a chave para campos de caracteres e para os mesmos campos de caracteres serão somados todos os campos numéricos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?