insert into abc (id,xmldoc)
values ('123' ,
sys.xmlType.createXML('<name><a id="1" value="some values">abc</a></name>') );正常插入没有问题。
但是当长度大约4000 就不支持了。因为是字符串类型。需要clob类型。请问该如何实现,用 OCI 也可以,求思路。或者连接,实在找不到了。
values ('123' ,
sys.xmlType.createXML('<name><a id="1" value="some values">abc</a></name>') );正常插入没有问题。
但是当长度大约4000 就不支持了。因为是字符串类型。需要clob类型。请问该如何实现,用 OCI 也可以,求思路。或者连接,实在找不到了。
解决方案 »
- 求一关于复制的SQL语句
- 求助 在线等急 交换机问题
- oracle 两个表有关联字段 怎么同时对两表进行更新??????
- proc*中传入的字符串数组如何转化为sql查询条件?请大家帮忙,谢谢
- SQL SERVER中间一个存储过程需要移植到ORACLE,不会写
- sql语句问题
- 在线等,如何导出oracle数据表到特定文件,如文本等,急!
- 能将dmp文件中的表转换成.xls文件或者在access中打开其中的表格?
- 创建一个数据库
- !急! oracle中类似SQLSERVER计划任务的功能吗?
- oracle可以直接从一张树形表 复制插入到这张树形表吗?
- varchar2(4000)与varchar2(4000 char)
如果是sql语句超长的话 可以这样
String xml = sys.xmlType.createXML('<name><a id="1" value="some values">abc</a></name>');
通过循环,将xml按照2000个字符截取,放到一个数组中
再循环,对数组中的每个元素拼装一个sql
第一个sql为 insert into abc (id,xmldoc) values ('123' , xml[0])
后边的sql为 update abc set xmldoc = xmldoc || xml[1] where id = '123'
这样就把每个sql控制在2000个字符左右了
如果是字段的长度限制 那就只能用clob了
2
3.打开 clob
4. 写 clob
5. 关闭 clob如何进行绑定变量 把clob列和 宿主变量关联上呢?
declare
strblob blob;
begin
select log_detail
into strblob
from mw_app.mwt_log
where obj_id = '4F770FE6DA104FD1A9CE93FA9D3DC88B'
for update;
dbms_lob.append(strblob, utl_raw.cast_to_raw(' means hello'));
update mw_app.mwt_log
set log_detail = strblob
where obj_id = '4F770FE6DA104FD1A9CE93FA9D3DC88B';
end;
感谢! 用OCI 的人好少。