1. ORA-01704错误的原因 ORA-01704错误表示“字符串文字太长”。在Oracle数据库中,当你尝试将一个超过4000个字符的字符串直接插入到VARCHAR2类型的字段时,就会触发这个错误。因为VARCHAR2类型的字段在Oracle中最多只能存储4000个字符。如果你需要存储更长的字符串,应该使用CLOB(Character Large Object)类型的字段。 2...
代码运行 DECLAREv_clobValueCLOB:='XXX';--字段内容,但是单引号中的内容不能超过4000字符BEGINUPDATE表名TSETT.字段名=T.字段名||v_clobValueWHERE条件;;END;/
DECLARE clobValue 表名.字段名%TYPE; BEGIN clobValue := 'XXX'; --字段内容 UPDATE 表名 T SET T.字段名 = clobValue WHERE 条件; COMMIT; END; / 参考网址:Oracle插入/更新CLOB字段报ORA-01704:字符串文字太长【解决方案】
JAVA中操作CLOB大对象 ,提示ORA-01704字符串文字太长 分析:在ORACEL中大文本的不能直接插入,是因为oracle会将clob自动转为String,当文本字节超出4000字节,提示字符太长。 备注: GBK编码:一个汉字占两个字节。 UTF-16编码:通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范...
在执行SQL的时候报了[ORA-01704:字符串文件太长]的错误,如下图所示: 以上SQL语法没有任何问题,但是如果CLOB字段的内容非常大的时候,会导致SQL语句过长,我认可网上的这个说法:隐式转换,oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大,所以会报ora-01704错误。说得通俗一点,就是两个单引号...
1、方法1 流处理 if (type.equalsIgnoreCase("CLOB")) { Clob clob=resultSet.getClob(colu...
字符串长度过长 解决方案 由于我所使用的是大量insert的方式,并且内容都含有html标签,所以采用拼接的形式,即: || to_clob('内容') 示例: select TO_CLOB('拼接示例') || TO_CLOB('这是一个测试SQL') from dual 执行结果 全局进行替换 替换为')||to_clob(' 替换为')||to_clob(' 替换为')||to_...
首先需要找规律,找到规律了,然后用PL/SQL块进行插入或更新即可。 1DECLARE 2 v_clobValue CLOB:= 'XXX'; --字段内容,但是单引号中的内容不能超过4000字符 3BEGIN 4 UPDATE 表名 T SET T.字段名 = T.字段名|| v_clobValue WHERE 条件; 5 COMMIT; 6END; 7/ 1. 2. 3. 4. 5. 6. 7....
ORA-01704:文本字符串太长。隐式转换,oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大,ORA-01704错误。两个单引号之间的字符不能超过4000。 解决办法:采取绑定变量的方式依次拼装更新。 DECLAREV_LANGCLOB:='XXX';--内容就可以超过4000个字符了BEGINUPDATE表名 TSETT.字段名=V_LANGWHERE条件...
Oracle 解决【ORA-01704:字符串文字太长】 错误提示:oracle在toad中执行一段sql语句时,出现错误‘ORA-01704:字符串文字太长’。如下图: 原因:一般为包含有对CLOB字段的数据操作。如果CLOB字段的内容非常大的时候,会导致SQL语句过长。隐式转换:oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大...