Pourquoi voudriez-vous? Sans doute, si vous êtes à la sélection de trois colonnes dans votre déclaration de curseur, vous avez besoin tous les trois colonnes dans votre code, de sorte que vous devez récupérer toutes les trois colonnes en trois variables locales, c'est à dire
DECLARE
x integer;
y integer;
z integer;CURSOR c1
ISSELECT column1, column2, column3
FROM some_table;BEGINOPEN c1;
LOOP
FETCH c1
INTO x, y, z;EXITWHEN c1%NOTFOUND;END LOOP;CLOSE c1;END;
Alternativement, vous pouvez déclarer un type d'enregistrement basé sur la déclaration de curseur et de chercher dans cette
Vous pouvez également vous débarrasser de l'explicite boucle entièrement qui est généralement l'approche privilégiée puisque vous n'avez pas à vous soucier de curseur fuites et (dans les versions modernes) Oracle peut automatiquement faire en vrac recueille pour vous
DECLARECURSOR c1
ISSELECT column1, column2, column3
FROM some_table;BEGINFOR c1_rec IN c1
LOOP
dbms_output.put_line( c1_rec.column2 );END LOOP;END;
Pourquoi voudriez-vous? Sans doute, si vous êtes à la sélection de trois colonnes dans votre déclaration de curseur, vous avez besoin tous les trois colonnes dans votre code, de sorte que vous devez récupérer toutes les trois colonnes en trois variables locales, c'est à dire
Alternativement, vous pouvez déclarer un type d'enregistrement basé sur la déclaration de curseur et de chercher dans cette
Vous pouvez également vous débarrasser de l'explicite boucle entièrement qui est généralement l'approche privilégiée puisque vous n'avez pas à vous soucier de curseur fuites et (dans les versions modernes) Oracle peut automatiquement faire en vrac recueille pour vous
OriginalL'auteur Justin Cave