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.