Oracle/PLSQL: declarar un cursor

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: declarar un cursor

Este tutorial de Oracle describe cómo declarar un cursor En Oracle/PLSQL con sintaxis y ejemplos.

describir

Un cursor es una instrucción SELECT definida en la sección de declaración del código PLSQL. Veremos tres sintaxis diferentes para declarar un cursor.

Sin cursor de parámetro (más simple)

Declarar un cursor sin ningún parámetro es el cursor más simple. Miremos más de cerca.

sintaxis

La sintaxis de los cursores sin parámetros en Oracle/PLSQL es:

CURSOR cursor_name
IS
  SELECT_statement;

ejemplo

Por ejemplo, puede definir un cursor llamado c1 como se muestra a continuación.

CURSOR c1
IS
  SELECT course_number
  FROM courses_tbl
  WHERE course_name = name_in;

El conjunto de resultados de este cursor son todos los números_del_curso cuyo nombre_del_curso coincide con la variable denominada nombre_en.

A continuación se muestra una función que utiliza este cursor.

CREATE OR REPLACE Function FindCourse
   ( name_in IN varchar2 )
   RETURN number
IS
   cnumber number;

   CURSOR c1
   IS
     SELECT course_number
     FROM courses_tbl
     WHERE course_name = name_in;

BEGIN

   OPEN c1;
   FETCH c1 INTO cnumber;

   if c1%notfound then
      cnumber := 9999;
   end if;

   CLOSE c1;

RETURN cnumber;

END;

Cursor con parámetros

A medida que nos volvemos más complejos, podemos declarar cursores con parámetros.

sintaxis

la sintaxis de un Cursor con parámetros En Oracle/PLSQL es:

CURSOR cursor_name (parameter_list)
IS
  SELECT_statement;

ejemplo

Por ejemplo, puede definir un cursor llamado c2 como se muestra a continuación.

CURSOR c2 (subject_id_in IN varchar2)
IS
  SELECT course_number
  FROM courses_tbl
  WHERE subject_id = subject_id_in;

El conjunto de resultados de este cursor son todos los números de curso cuyo subject_id coincide con el subject_id pasado al cursor a través del parámetro.

cursor con cláusula de retorno

Finalmente, podemos declarar un cursor con una cláusula de retorno.

sintaxis

La sintaxis de un cursor con una cláusula de retorno en Oracle/PLSQL es:

CURSOR cursor_name
RETURN field%ROWTYPE
IS
   SELECT_statement;

ejemplo

Por ejemplo, puede definir un cursor llamado c3 como se muestra a continuación.

CURSOR c3
RETURN courses_tbl%ROWTYPE
IS
   SELECT *
   FROM courses_tbl
   WHERE subject="Mathematics";

El conjunto de resultados de este cursor son todas las columnas en Course_tbl cuyo tema es matemáticas.

(Visited 15 times, 1 visits today)