ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 道听途说(一)

道听途说(一)

原创 Linux操作系统 作者:kinglin_zy 时间:2010-11-23 23:45:35 0 删除 编辑

Case1:

需求:需要把字段(line_text)的类型从varchar2 转成clob以容纳多于4000字节的内容。

方案:不转成clob, 而是把内容拆分成并存储在多个line_text中,创建一个view, 让line_text = line_text1||line_text2||line_text3..

这样真的可行吗?

Step1:

create table T_VARCHAR2_CLOB
( sc_no number,
  line_text1 varchar2(4000),
  line_text2 varchar2(4000),
  line_text3 varchar2(4000)
)
/

Srep2:

插入一条记录,其中line_text1,line_text2,line_text3的长度均为3999。

Step3:

create or replace view V_VARCHAR2_CLOB
as select sc_no as sc_no, line_text1,
line_text1||line_text2||line_text3 as  line_text
from T_VARCHAR2_CLOB;

Step4:

验证,
select length(line_text1)
from V_VARCHAR2_CLOB
where rownum<2;

3999

可见view是validate.


select length(line_text)
from V_VARCHAR2_CLOB
where rownum<2;

ORA-01489:字符串连接的结果过长

可见该方法不行。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/781883/viewspace-679732/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Hello Johnson
请登录后发表评论 登录
全部评论

注册时间:2009-09-22

  • 博文量
    58
  • 访问量
    77956