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. Loj_6282. 数列分块入门 6

    Loj_6282 这个题目涉及到了块的重构,这里使用了\(\sqrt{n}\)次插入便重构的方法 讲重复的操作提出来做了函数 #include <iostream> #include &l ...

  2. Visual Studio 2017 安装过程问题解决

    VS已经发布了两三天了,我也着手安装,但是折腾了两个晚上,怎么都到不了安装界面(选择模块的界面),各种尝试,各种重启,也并不顶什么卵用~ 后来经过各种查LOG,发现我电脑访问不了https://dow ...

  3. TTL电平, RS232电平以及CMOS电平的区别

    TTL电平标准 输出 L: <0.8V : H:>2.4V. 输入 L: <1.2V : H:>2.0V TTL器件输出低电平要小于0.8V,高电平要大于2.4V.输入,低于1 ...

  4. C编程规范, 演示样例代码。

    /*************************************************************** *Copyright (c) 2014,TianYuan *All r ...

  5. 不可变字符串String与可变字符串StringBuilder、StringBuffer使用详解

    String字符串 char类型只能表示一个字符,而String可以表示字符串,也就是一个字符序列.但String不是基本类型,而是一个定义好的类,是一个引用类型.在Java中,可以将字符串直接量赋给 ...

  6. ABAP术语-ABAP 术语发布结束

    ABAP 术语发布结束 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/21/1116236.html 经历了大约三个月,终于把 BC417 ...

  7. Storm相关笔记(包括Kafka和HBase)

    一.Apache Kafka 1.了解Kafka 1.1.Kafka是什么?有什么用? 是什么? 1) Apache Kafka 是一个消息队列(生产者消费者模式) 2) Apache Kafka 目 ...

  8. MySQL 基础小技巧

    把MySQL软件制作成系统服务 .把mysqld软件做成系统服务 注意:制作之前先把mysqld关掉 C:\Windows\system32>tasklist |findstr mysqld m ...

  9. vue 创建项目的命令

    1 cmd   创建项目 找到指定目录 vue create test   或   vue ui  (可视化创建)推荐 ---------------------------------------- ...

  10. hive在客户机启动时出现的问题

    运行环境:一拖一分布式集群+客户端 mysql和hive安装在客户机上 问题:在客户机终端启动hive时出现如下问题: 目前还没有找出是什么原因! 解决办法: 参照http://dblab.xmu.e ...