ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表的clob列直接可以插入到varchar2的列中吗

表的clob列直接可以插入到varchar2的列中吗

原创 Linux操作系统 作者:wisdomone1 时间:2012-09-27 16:51:32 0 删除 编辑

        --表的clob列直接可以插入到varchar2的列中吗
          --1,建立包含clob列的表及包含varchar列的表,并插入数据到t_test_clob表
          create table t_test_clob(a clob);
          create table t_test_varchar2(a varchar2(100));
          insert into t_test_clob values('insert clob data');--说明不用转换直接可以把字符数据插入到clob列
         
          --2,插入t_test_clob到t_test_varchar2表中
          insert into t_test_varchar2(a)
          select a from t_test_clob;--说明可以直接把clob插入到varchar2列的表中
         
          --3,加大t_test_clob中列的数据内容长度,然后再次重运2,看是否可以直接插入
          insert into t_test_clob values('insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data
          insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data insert clob data');
         
          --4,查询t_test_clob表的clob列的长度
          select length(a) from t_test_clob;--新插入的列内容长度为373
         
          --5,运行2,看可否插入
          insert into t_test_varchar2(a)
          select a from t_test_clob;--此时就报ORA-12899: 列 "NPOS"."T_TEST_VARCHAR2"."A" 的值太大 (实际值: 373, 最大值: 100)
         
          --6,小结:字符数据可以直接插入到clob列,不用转换
                    自clob列插入到字符列中,要注意clob列的内容长度是否与字符列的最大长度相匹配,可采用加大字符列长度或者substr截短clob列
      

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

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12690141