前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ORA-01461问题的对比测试

ORA-01461问题的对比测试

作者头像
jeanron100
发布2018-03-13 17:12:59
6920
发布2018-03-13 17:12:59
举报

昨天生产环境有个严重问题,报了ora-01461的错误,这个问题看似应该是开发那边的问题,但dba这边也得提供一些信息,自己模拟测试了一把。 为问题的排查也提供了一些帮助。 这个问题可以使用一下场景来对比测试。 --》场景 #1

使用关键字values来插入。

代码语言:javascript
复制
using key word “values” to insert.
SQL> Declare
     vx Varchar2(32767);
   Begin
     For i In 1..3000 Loop
       vx:=vx||'0123456789';
     End Loop;
     dbms_output.put_line('length:'||length(vx));
     Insert Into test_lob Values(Sysdate,vx);
   End;
   / 
length:30000
PL/SQL procedure successfully completed.

--》场景 #2 使用子查询来插入,如果变量值大于4000,就会自动把变量分成两部分作为long data type来插入。

代码语言:javascript
复制
Using subquery to insert, variable values larger than 4000 will divided into parts for long datatype.
SQL>  Declare
    vx Varchar2(32767);
  Begin
  For i In 1..400 Loop
          vx:=vx||'0123456789';
      End Loop;
      vx:=vx||'.';
      --Insert Into test_lob Values(Sysdate,vx);
    dbms_output.put_line('length:'||length(vx));
  Insert Into test_lob
          Select Sysdate,vx From dual;
    End;
/
length:4001
Declare
*
ERROR at line 1:
ORA-01461: can bind a LONG value only for insert into a LONG column
ORA-06512: at line 10
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档