(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — Mover el cursor de un objeto LOB
$lob_identifier
, string $offset
, int $origin
= CUBRID_CURSOR_CURRENT): bool
La función cubrid_lob2_seek64() se usa para mover la posición
del cursor de un objeto LOB mediante el valor establecido en el argumento
offset
, a la dirección establecida en el argumento origin
.
Si el offset
que se quiere mover es mayor que los datos de tipo
integer que se puedan almacenar, se puede usar esta función.
Para establecer el argumento origin
, se puede usar CUBRID_CURSOR_FIRST
para establecer la posición del cursor avanzando offset
unidades desde
el primer comienzo. En este caso, offset
debe ser un valor positivo.
Si se usa CUBRID_CURSOR_CURRENT para origin
, se puede
avanzar o retroceder, por lo que offset
puede ser positivo o negativo.
Si se usa CUBRID_CURSOR_LAST para origin
, se puede retroceder
offset
unidades desde el final del objeto LOB, por lo que offset
solamente puede ser positivo.
Nota:
Si se usa esta función para mover la posición del cursor de un objeto LOB, se debería pasar
offset
como string.
lob_identifier
Un identificador de LOB, como un resultado de cubrid_lob2_new() u obtenido de un conjunto de resultados.
offset
El número de unidades que se quiere mover el cursor.
origin
Este parámetro admite los siguientes valores:
CUBRID_CURSOR_FIRST: avanzar desde el primer comienzo.
CUBRID_CURSOR_CURRENT: avanzar o retroceder desde la posición actual del cursor.
CUBRID_CURSOR_LAST: retroceder desde el final del objeto LOB.
Ejemplo #1 Ejemplo de cubrid_lob2_seek64()
<?php
// test_lob (id INT, contents CLOB)
// La longitud de los datos de doc_1.txt debería ser mayor que 20101029056306120215.
$conexión = cubrid_connect("localhost", 33000, "demodb", "dba", "");
cubrid_execute($conexión,"DROP TABLE if exists test_lob");
cubrid_execute($conexión,"CREATE TABLE test_lob (id INT, contents CLOB)");
$petición = cubrid_prepare($conexión, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($petición, 1, 1);
$lob = cubrid_lob2_new($conexión, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($petición, 2, $lob, 'CLOB'); // o cubrid_lob2_bind($petición, 2, $lob);
cubrid_execute($petición);
cubrid_lob2_close($lob);
$petición = cubrid_execute($conexión, "select * from test_lob");
$fila = cubrid_fetch_row($petición, CUBRID_LOB);
$lob = $fila[1];
cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$datos = cubrid_lob2_read($lob, 20);
echo $datos."\n";
cubrid_disconnect($conexión);
?>