1
resposta

Sugestão para correção do exemplo

Boa tarde, gostaria de sugerir uma correção com relação ao exemplo do select into, ele é possível de ser usado em mais de uma variável conforme exemplo abaixo:

SET SERVEROUT ON;

DECLARE
    v_id_segmento_mercado SEGMENTO_MERCADO.id_segmento_mercado%type :=1;
    v_id_segmento_mercado_print SEGMENTO_MERCADO.id_segmento_mercado%type :=1;
    v_descricao_segmento_mercado SEGMENTO_MERCADO.descricao_segmento_mercado%type;
BEGIN
    SELECT descricao_segmento_mercado, id_segmento_mercado INTO v_descricao_segmento_mercado, v_id_segmento_mercado_print FROM SEGMENTO_MERCADO WHERE id_segmento_mercado = v_id_segmento_mercado;
    dbms_output.put_line(v_descricao_segmento_mercado);
    dbms_output.put_line(v_id_segmento_mercado_print);
END;
1 resposta

Olá Eduardo, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

O instrutor chama atenção ao uso do comando SELECT INTO para atribuições de variáveis, pois é essencial garantir que o resultado do SELECTseja um único valor para cada variável a ser atribuída. É importante ressaltar que um array, que possui várias linhas não podem ser atribuídos a uma única variável nesse contexto.

Portanto, é possível selecionar mais de uma variável desde que cada uma delas receba um único valor correspondente a uma única linha.

No seu exemplo, para evitar erros, é necessário certificar-se de que a seleção do campo descricao_segmento_mercado resulte em apenas uma linha, para que seja corretamente atribuída à variável v_descricao_segmento_mercado.

Eduardo, espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!