cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64Перемещает курсор LOB-объекта

Описание

cubrid_lob2_seek64(resource $lob_identifier, string $offset, int $origin = CUBRID_CURSOR_CURRENT): bool

Функция cubrid_lob2_seek64() используется для перемещения позиции курсора LOB-объекта на значение, заданное в параметре offset, в направлении, заданном в параметре origin. Если значение параметра offset больше, чем можно сохранить целочисленные данные, вы можете использовать эту функцию.

Чтобы установить параметр origin, вы можете использовать CUBRID_CURSOR_FIRST, чтобы установить позицию курсора, перемещающегося вперёд на offset единиц от начала LOB-объекта. В этом случае параметр offset должен быть положительным значением.

Если вы используете CUBRID_CURSOR_CURRENT для origin, вы можете двигаться вперёд или назад, offset может быть положительным или отрицательным.

Если вы используете CUBRID_CURSOR_LAST для origin, вы можете перемещать назад на единицу offset с конца LOB-объекта. В этом случае параметр offset должен быть положительным значением.

Замечание:

Если вы используете эту функцию для перемещения позиции курсора LOB-объекта, вы должны передать offset в качестве строки.

Список параметров

lob_identifier

Идентификатор LOB в результате работы функции cubrid_lob2_new() или полученный из набора результатов.

offset

Количество единиц, на которое нужно переместить курсор.

origin

Параметр может иметь следующие значения:

CUBRID_CURSOR_FIRST: двигаться вперёд от начала LOB-объекта.

CUBRID_CURSOR_CURRENT: двигаться вперёд или назад от текущей позиции.

CUBRID_CURSOR_LAST: двигаться назад с конца LOB-объекта.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Пример использования: cubrid_lob2_seek64()

<?php
// test_lob (id INT, contents CLOB)
// Длина данных doc_1.txt должна быть больше 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'); // или 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);
?>

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top