CREATE SEQUENCE mylobs_id_seq
    NOMINVALUE
    NOMAXVALUE
    NOCYCLE
    CACHE 20
    NOORDER
INCREMENT BY 1;

CREATE TABLE mylobs (
    id NUMBER PRIMARY KEY,
    mylob CLOB
)

插入

<?php
header("content-type:text/html;charset=utf-8");
error_reporting(E_ALL);
set_time_limit(0);

echo "<pre>";

$conn=oci_connect('demo','demo','localhost/xe','utf8');

$sql = "INSERT INTO
        mylobs
          (
            id,
            mylob
          )
       VALUES
          (
            mylobs_id_seq.NEXTVAL,
            EMPTY_CLOB()
          )
       RETURNING
          mylob INTO :mylob_loc";

$stmt = oci_parse($conn, $sql);

$myLOB = oci_new_descriptor($conn, OCI_D_LOB);

oci_bind_by_name($stmt, ":mylob_loc", $myLOB, -1, OCI_B_CLOB);

oci_execute($stmt, OCI_DEFAULT) or die ("Unable to execute query\n");

$content=str_repeat('你',80000);
if ( !$myLOB->save($content) ) {
    oci_rollback($conn);
} else {
    oci_commit($conn);
}
oci_free_statement($stmt);
$myLOB->free();
oci_close($conn);

 

查询

<?php
header("content-type:text/html;charset=utf-8");
error_reporting(E_ALL);
set_time_limit(0);

echo "<pre>";

$conn=oci_connect('demo','demo','localhost/xe','utf8');

$sql = "SELECT * FROM mylobs ORDER BY id";

$stmt = oci_parse($conn, $sql);

oci_execute($stmt) or die ("Unable to execute query\n");

while ( $row = oci_fetch_assoc($stmt) ) {
    echo "ID: {$row['ID']}, ";
    echo $row['MYLOB']->load()."\n";
}
oci_free_statement($stmt);

oci_close($conn);

 

修改

<?php
header("content-type:text/html;charset=utf-8");
error_reporting(E_ALL);
set_time_limit(0);

echo "<pre>";

$conn=oci_connect('demo','demo','localhost/xe','utf8');

$sql = "SELECT mylob FROM mylobs WHERE id = 1 FOR UPDATE";

$stmt = oci_parse($conn, $sql);

oci_execute($stmt, OCI_DEFAULT) or die ("Unable to execute query\n");

if ( FALSE === ($row = oci_fetch_assoc($stmt) ) ) {
    oci_rollback($conn);
    die ("Unable to fetch row\n");
}

if ( !$row['MYLOB']->truncate() ) {
    oci_rollback($conn);
    die ("Failed to truncate LOB\n");
}

if ( !$row['MYLOB']->save('UPDATE: '.date('H:i:s',time()) ) ) {
    oci_rollback($conn);
} else {
    oci_commit($conn);
}

oci_free_statement($stmt);
$row['MYLOB']->free();

oci_close($conn);

php 操作 oracle lob 数据2的更多相关文章

  1. php 操作 oracle lob 数据

    http://www.oracle.com/technetwork/articles/fuecks-lobs-095315.html Working with LOBs in Oracle and P ...

  2. Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html 概述 LOB 代表大对象数据,包括 BLOB 和 CL ...

  3. Spring 让 LOB 数据操作变得简单易行

    概述 LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型,前者用于存储大块的二进制数据,如图片数据,视频数据等,而后者用于存储长文本数据,如论坛的帖子内容,产品的详细描述等.值得注意的是: ...

  4. 使用JDBC处理Oracle大数据

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  5. ORACLE恢复数据

    ORACLE恢复删除表或表记录 一:表的恢复      对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询 ...

  6. 利用jdbc处理oracle大数据---大文件和二进制文件

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  7. JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

  8. oracle之 Oracle LOB 详解

    一.  官方说明 Oracle 11gR2 文档: LOB Storage http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294 ...

  9. JavaWeb(三十五)——使用JDBC处理Oracle大数据

    一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...

随机推荐

  1. Spark读写HBase时出现的问题--RpcRetryingCaller: Call exception

    问题描述 Exception in thread "main" org.apache.hadoop.hbase.client.RetriesExhaustedException: ...

  2. [转]百度地图API详解之地图坐标系统

    博客原文地址:http://www.jiazhengblog.com/blog/2011/07/02/289/ 我们都知道地球是圆的,电脑显示器是平的,要想让位于球面的形状显示在平面的显示器上就必然需 ...

  3. git编译安装报错 http-push.c:20:19: 警告:expat.h:没有那个文件或目录

    解决: [root@hdoop3 git-2.18.1]# yum install expat-devel

  4. POJ 1157 LITTLE SHOP OF FLOWERS (超级经典dp,两种解法)

    You want to arrange the window of your flower shop in a most pleasant way. You have F bunches of flo ...

  5. HDU 3339 In Action(迪杰斯特拉+01背包)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=3339 In Action Time Limit: 2000/1000 MS (Java/Others) ...

  6. CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯

    /* * board_led.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #inc ...

  7. QT 简单 TCP 通信,发送数据到服务器

    1.首先 添加头文件 #include <QtNetwork/QTcpSocket> 并且 在 xxx.pro(xxx指工程的名称) 中QT += core gui下面,添加 下面两句句话 ...

  8. 升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法

    升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下 ...

  9. 在正文部分操作accordion内容展开和闭合

    $('#accordionid').accordion("select",0);             //展开第一个title $('#accordionid').accord ...

  10. js基础(闭包实例)

    1,常用发送短信的闭包实现: function sms() { var count = 60; return { start: function() { if(count == 0) { count ...