PL/SQL Cursor para o ciclo

0 Comments

Resumo: neste tutorial, irá aprender a usar o cursor PL/SQL FOR LOOP declaração para obter e processar todos os registos a partir de um cursor.

Introduction to PL / SQL cursor FOR LOOP statement

the cursor FOR LOOP statement is an elegant extension of the numeric FOR LOOP statement.

O numérico FOR LOOP executa o corpo de um loop uma vez para cada valor inteiro num intervalo especificado., Similarmente, o cursor FOR LOOP executa o corpo do loop uma vez para cada linha retornada pela consulta associada com o cursor.

Um recurso interessante do cursor FOR LOOP instrução é que ele permite que você para buscar todas as linhas a partir de um cursor sem manualmente gerenciar o ciclo de execução i.é., OPEN FETCH e CLOSE.

o cursor FOR LOOP cria implicitamente o seu Índice de loop como uma variável de registo com o tipo de linha em que o cursor retorna e, em seguida, abre o cursor.,

em cada iteração de loop, o cursor FOR LOOP a instrução obtém uma linha do resultado definido para o seu Índice de loop. Se não houver linha a obter, o cursor FOR LOOP fecha o cursor.

o cursor também é fechado se uma declaração dentro do laço transfere controle fora do laço, por exemplo, EXIT e GOTO, ou levanta uma exceção.,

A seguir ilustra a sintaxe do cursor FOR LOOP declaração:

1) registro

record é o nome do índice que o cursor FOR LOOP instrução declara implicitamente como uma %ROWTYPE gravar variável do tipo cursor.

a variávelrecord é local para o cursorFOR LOOP declaração. Isso significa que você só pode referenciá-lo dentro do loop, não fora., Após o cursor FOR LOOP a execução da instrução termina, a variável record torna-se indefinida.

2) cursor_name

The cursor_name é o nome de um cursor explícito que não é aberto quando o ciclo começa.

Note que além do nome de cursor, você pode usar um SELECT instrução, como mostrado abaixo:

neste caso, o cursor FOR LOOP declara, abre, busca de, e fecha um cursor implícito., No entanto, o cursor implícito é interno; portanto, você não pode referenciá-lo.

Note que Oracle Database optimiza automaticamente um cursor FOR LOOPpara trabalhar de forma semelhante a um BULK COLLECT query. Embora o seu código pareça ter obtido uma linha de cada vez, a base de Dados Oracle obtém várias linhas de cada vez e permite-lhe processar cada linha individualmente.

PL / SQL cursor for LOOP examples

Let’s look at some examples of using the cursor FOR LOOP statement to see how it works.,

a) PL/SQL cursor for LOOP example

o seguinte exemplo declara um cursor explícito e o usa no cursor FOR LOOP statement.

neste exemplo, o SELECT a instrução do cursor recupera dados doproducts tabela. A instrução FOR LOOP abriu, obteve cada linha no conjunto de resultados, mostrou a informação do produto e fechou o cursor.,

B) Cursor para LOOP com um exemplo de instrução SELECT

o exemplo seguinte é equivalente ao exemplo acima, mas usa uma consulta em um cursor FOR LOOP instrução.

neste tutorial, você aprendeu a usar o cursor PL/SQL FOR LOOP para obter dados de um cursor.

  • este tutorial foi útil?
  • YesNo


Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *