Documentación offline PHP master

oci_get_implicit_resultset

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

oci_get_implicit_resultset

Retorna el hijo siguiente de un recurso de consulta desde un recurso de consulta padre que tiene un juego de resultados implícito de Oracle Database

Descripción#

oci_get_implicit_resultset(resource $statement): resource
```php

Utilizado para recuperar juegos recursivos de resultados de consultas después de la ejecución de un bloque almacenado o anónimo Oracle PL/SQL donde este bloque retorna resultados de consultas con la función *DBMS_SQL.RETURN_RESULT* Oracle PL/SQL de la base de datos Oracle 12 (o posterior). Esto permite a los bloques PL/SQL retornar fácilmente resultados de consultas.

La consulta hija puede ser utilizada con cualquiera de las funciones de recuperación OCI8: `oci_fetch`, `oci_fetch_all`, `oci_fetch_array`, `oci_fetch_object`, `oci_fetch_assoc` o `oci_fetch_row`

Las consultas hijas heredan los valores pre-recuperados de sus padres, o pueden ser definidas explícitamente con la función `oci_set_prefetch`.

## Parámetros

`statement`  
Un identificador de consulta OCI8 válido creado por la función `oci_parse` y ejecutado por la función `oci_execute`. El identificador de consulta puede o no estar asociado con una consulta OCI8 que retorna juegos de resultados implícitos.

## Valores devueltos

Retorna un gestor de consulta para la próxima consulta hija disponible en `statement`. Retorna `false` cuando la consulta hija no existe, o cuando todas las consultas hijas han sido retornadas por llamados previos a la función `oci_get_implicit_resultset`.

## Ejemplos

Recuperación de los juegos de resultados implícitos mediante un ciclo
Nuevo juego de resultados implícito:\n"; echo "\n"; while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { echo "\n"; foreach ($row as $item) { echo " \n"; } echo "\n"; } echo "
".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."
\n"; } // Muestra: // Nuevo juego de resultados implícito: // Beijing 190518 // Bern 3095 // Bombay 490231 // Nuevo juego de resultados implícito: // CN // CH // IN oci_free_statement($stid); oci_close($conn); ?>
Recupera individualmente los gestores de consultas hijas
// string(7) "Beijing" // ["POSTAL_CODE"]=> // string(6) "190518" // } // array(1) { // ["COUNTRY_ID"]=> // string(2) "CN" // } // array(2) { // ["CITY"]=> // string(4) "Bern" // ["POSTAL_CODE"]=> // string(4) "3095" // } // array(1) { // ["COUNTRY_ID"]=> // string(2) "CH" // } oci_free_statement($stid); oci_close($conn); ?>
Definición explícita del contador de pre-recuperación
\n"; while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { echo "\n"; foreach ($row as $item) { echo " ".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."\n"; } echo "\n"; } echo "\n"; oci_free_statement($stid); oci_close($conn); ?>
Ejemplo de juego de resultados implícito sin utilizar la función `oci_get_implicit_resultset`

Todos los resultados de todas las consultas son retornados consecutivamente.
\n"; while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { echo "\n"; foreach ($row as $item) { echo " ".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"")."\n"; } echo "\n"; } echo "\n"; // Muestra: // Beijing 190518 // Bern 3095 // Bombay 490231 // CN // CH // IN oci_free_statement($stid); oci_close($conn); ?>

```php

Notas#

[!NOTE] Para las consultas que devuelven un número muy grande de líneas, el rendimiento puede ser muy significativamente mejorado aumentando el valor de la opción oci8.default_prefetch o usando la función oci_set_prefetch.