CREATE OR REPLACE FUNCTION dfn_clobReplace
( p_clob IN CLOB,
p_what IN VARCHAR2,
p_with IN VARCHAR2 ) RETURN CLOB IS
c_whatLen CONSTANT PLS_INTEGER := LENGTH(p_what);
c_withLen CONSTANT PLS_INTEGER := LENGTH(p_with);
l_return CLOB;
l_segment CLOB;
l_pos PLS_INTEGER := 1-c_withLen;
l_offset PLS_INTEGER := 1;
BEGIN
IF p_what IS NOT NULL THEN
WHILE l_offset < DBMS_LOB.GETLENGTH(p_clob) LOOP
l_segment := DBMS_LOB.SUBSTR(p_clob,32767,l_offset);
LOOP
l_pos := DBMS_LOB.INSTR(l_segment,p_what,l_pos+c_withLen);
EXIT WHEN (NVL(l_pos,0) = 0) OR (l_pos = 32767-c_withLen);
l_segment := TO_CLOB( DBMS_LOB.SUBSTR(l_segment,l_pos-1)
||p_with
||DBMS_LOB.SUBSTR(l_segment,32767-c_whatLen-l_pos-c_whatLen+1,l_pos+c_whatLen));
END LOOP;
l_return := l_return||l_segment;
l_offset := l_offset + 32767 - c_whatLen;
END LOOP;
END IF;
RETURN(l_return);
END;
/
分享到:
相关推荐
在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何其他大型文本内容。然而,在处理CLOB...
在这个示例中,我们将探讨如何使用JSP(JavaServer Pages)与HTML编辑器FCKeditor相结合,来处理Oracle数据库中的CLOB(Character Large Object)类型的大字段。CLOB类型用于存储大量的文本数据,如文章、报告或HTML...
这段代码将所有信息存储在一个CLOB变量中,你可以进一步处理这个CLOB,例如写入文件或导入Word。 Oracle SQL Developer也提供了一种可视化的方式导出表文档。在工具栏中选择“报表”>“对象描述”,然后选择你需要...
- 数据类型兼容性检查,如数字类型、时间戳类型等。 - 触发器、存储过程、索引的转换和重建。 - 权限和用户管理的调整。 - 数据一致性验证,确保迁移后数据无误。 以上是Mysql迁移到Oracle过程中需要关注的主要...
- 如果需要插入的字符串长度超过4000个单字节,则应考虑使用CLOB类型,并借助Oracle内置的`DBMS_LOB`程序包进行处理。 6. **自增序列的使用:** - 首先创建一个序列: ```sql CREATE SEQUENCE 序列名 ...
PL/SQL支持多种内置数据类型,如NUMBER、VARCHAR2、DATE等,以及用户自定义的数据类型。 #### 2.4.2 复合类型 包括纪录类型(RECORD)和集合类型(如VARRAY和TABLE),用于存储多个值或复杂数据结构。 #### 2.4.3...
13. **字符数据类型**:VARCHAR2、LONG和CLOB都是Oracle的字符数据类型,而LONG RAW是二进制大对象类型。 14. **限制分组函数返回值**:GROUP BY子句后的HAVING子句用于限定分组函数的返回值。 15. **序列对象**:...
LOB数据类型 clob 1~4GB 只能存储字符数据 nclob 1~4GB 保存本地语言字符集数据 blob 1~4GB 以二进制信息保存数据 三、 DDL语言 1. Create table命令 用于创建表。在创建表时,经常会创建该表的主键、外键、唯一...
MODIFY (列名 数据类型) 例:将test表中的Count列宽度加长为10个字符 sql>alter atble test modify (County char(10)); b、将一张表删除语句的格式如下: DORP TABLE 表名; 例:表删除将同时删除表的数据和...
§1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §2.1 SELECT语句 50 §2.2 SQL...
这段XML配置中,`connectionString`应替换为你的Oracle数据库连接字符串,`LOG_TABLE`应替换为你的实际日志表名。 2. **初始化log4net** 在应用程序启动时,你需要初始化`log4net`。在Global.asax.cs文件的`...
MySQL中的`AUTO_INCREMENT`字段在Oracle中没有直接对应的数据类型。在Oracle中,需要创建一个序列(SEQUENCE)来模拟这个功能。例如,可以创建一个名为`TABLE_NAME_SEQ`的序列,并在插入记录时使用`.NEXTVAL`获取下...
触发器是PL/SQL中的另一个高级特性,用于在特定的数据库事件发生时自动执行一段代码。 - **DML触发器**: 在数据操纵语言(DML)事件(如INSERT、UPDATE、DELETE)发生时触发。 - **替代触发器**: 用于替换某些DML...
20.oracle8中扩充了group by rollup和cube的操作。有时候省了你好多功夫的。 下面的语句可以进行总计 select region_code,count(*) from aicbs.acc_woff_notify group by rollup(region_code); <2> 对第1个字段...
- **避免隐式数据类型转换**:确保 WHERE 子句中的条件与索引的数据类型相匹配,以利用索引。 - **索引的选择性**:索引应具有良好的选择性,即索引值分布均匀。 3. **避免全表扫描**:通过合理设计查询逻辑和...