Operaciones en funciones y procedimientos con parámetros REF CURSOR en Oracle Database
Artículo
Un CURSOR REF es un tipo de datos PL/SQL que representa un puntero a un conjunto de resultados del lado servidor generado mediante la ejecución de una consulta. Un tipo REF CURSOR habilita el streaming de entrada y salida de datos y es ideal para transferir grandes cantidades de datos hacia y desde un código PL/SQL. El adaptador de base de datos de Oracle proporciona compatibilidad con cursoR REF fuertemente tipados y de tipo débil (SYS_REFCURSOR) que se pueden pasar a procedimientos PL/SQL y funciones como parámetros IN, OUT o IN OUT.
EN CURSOR REF. Los clientes adaptadores deben usar un CURSOR IN REF proporcionando un código PL/SQL (como cadena) que abre REF CURSOR en la base de datos de Oracle. El adaptador crea una variable y la establece el CURSOR REF abierto y llama a una función o procedimiento con esa variable. Por lo tanto, los parámetros IN REF CURSOR del procedimiento almacenado PL/SQL y las funciones deben representarse como cadenas que toman un bloque de código PL/SQL como valor de entrada que marca la variable OUT REF CURSOR con una "?".
CURSOR REF DE SALIDA. Los parámetros OUT REF CURSOR se devuelven como conjuntos de resultados fuertemente tipados o con tipo débil. El tipo del conjunto de resultados devuelto depende de si el parámetro REF CURSOR se declara como un CURSOR REF fuertemente tipado o poco tipado en el procedimiento almacenado o la definición de función en el servidor Oracle.
PARÁMETROS IN OUT REF CURSOR. Dado que el adaptador de base de datos de Oracle modela parámetros IN REF CURSOR como cadenas y parámetros OUT REF CURSOR como tipos complejos, no puede admitir un único tipo para un parámetro IN OUT REF CURSOR. Por este motivo, trata los parámetros IN OUT REF CURSOR como dos parámetros diferentes: un parámetro IN en el mensaje de solicitud y un parámetro OUT en el mensaje de respuesta.
PostgreSQL admite procedimientos almacenados y funciones para hacer que las consultas de SQL sean reutilizables. En este módulo, aprenderá a crear y ejecutar procedimientos almacenados y funciones.