(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — Desplaza el cursor de un objeto LOB
$lob_identifier
, string $offset
, int $origin
= CUBRID_CURSOR_CURRENT): bool
La función cubrid_lob2_seek64() se utiliza
para desplazar la posición del cursor en un objeto LOB de un valor
proporcionado por el argumento offset
, en la dirección
proporcionada por el argumento origin
.
Si la posición offset
es mayor que la capacidad
de almacenamiento de un entero, puede utilizarse esta función.
Para definir el argumento origin
, puede
utilizarse la constante CUBRID_CURSOR_FIRST
para definir la posición
del cursor a la que se añaden offset
unidades
desde el principio. En este caso, offset
debe ser un valor
positivo.
Si se utiliza CUBRID_CURSOR_CURRENT
para el argumento origin
,
puede desplazarse hacia atrás, así como hacia adelante. Y el argumento
offset
podrá ser positivo o negativo.
Si se utiliza la constante CUBRID_CURSOR_LAST
para el argumento
origin
, puede desplazarse hacia atrás de
offset
unidades desde el final del objeto LOB y
el argumento offset
solo podrá ser positivo.
Nota:
Si se utiliza esta función para desplazar la posición del cursor de un objeto LOB, debe pasarse el argumento
offset
en forma de string.
lob_identifier
Un identificador LOB, recuperado desde la función cubrid_lob2_new() o desde el conjunto de resultados.
offset
Número de unidades de desplazamiento del cursor.
origin
Este argumento puede tomar los siguientes valores:
CUBRID_CURSOR_FIRST: desplaza el cursor hacia adelante partiendo del principio.
CUBRID_CURSOR_CURRENT: desplaza el cursor hacia atrás y hacia adelante desde la posición actual.
CUBRID_CURSOR_LAST: desplaza el cursor hacia atrás desde el final del objeto LOB.
Ejemplo #1 Ejemplo con cubrid_lob2_seek64()
<?php
// test_lob (id INT, contents CLOB)
// La longitud de los datos de doc_1.txt debe ser superior a 20101029056306120215.
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);
$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // o cubrid_lob2_bind($req, 2, $lob);
cubrid_execute($req);
cubrid_lob2_close($lob);
$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];
cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>