当前位置:  数据库>oracle

ORA-00913错误:PL/SQL: ORA-00913: too many values

    来源: 互联网  发布时间:2017-06-07

    本文导语: ORA-00913错误 描述:PL/SQL: ORA-00913: too many values 目标:编写一个可以循环插入数据的脚本 操作过程: SQL> desc tcustmer Name              Null?    Type  ----------------- -------- ----------------------------  CUST_CODE        NOT NULL VARCHAR2(10)  ...

ORA-00913错误

描述:PL/SQL: ORA-00913: too many values

目标:编写一个可以循环插入数据的脚本

操作过程:
 SQL> desc tcustmer
 Name              Null?    Type
  ----------------- -------- ----------------------------
  CUST_CODE        NOT NULL VARCHAR2(10)
  NAME                      VARCHAR2(30)
  CITY                      VARCHAR2(20)
  STATE                      CHAR(2)
 

SQL>CREATE SEQUENCE tcustmer_cust
      INCREMENT BY 1
      START WITH 1
      MAXVALUE 100000000
      CACHE 10000
      NOCYCLE;
     
 SQL> begin
  2      for i in 1..10 loop
  3        insert into tcustmer
  4        values (tcustmer_cust.nextval,'T','test'||i,'BEIJING','CN');
  5        if mod(i,10)=0 then
  6        commit;
  7        end if;
  8      end loop;
  9      commit;
  10  end;
  11  /
        insert into tcustmer
                    *
 ERROR at line 3:
 ORA-06550: line 3, column 20:
 PL/SQL: ORA-00913: too many values
 ORA-06550: line 3, column 8:
 PL/SQL: SQL Statement ignored

检查发现插入的values值,列数超过了tcustmer表的列数
 调整如下:
 SQL>begin
      for i in 1..10 loop
        insert into tcustmer
        values ('T'||tcustmer_cust.nextval,'test'||i,'BEIJING','CN');
        if mod(i,10)=0 then
        commit;
        end if;
    end loop;
    commit;
 end;
 /
 PL/SQL procedure successfully completed.
 
总结:
 
对于tcustmer_cust.nextval理解错误,创建序列的目的正是消除主键的干扰,所以在使用的时候需要将其放到列值中。

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何得到带有ora的行的下一行
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 浅析如何在tnsnames.ora中配置监听
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • 解决报错ora-32035的方法分析
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • ORA-00947:Not enough values (没有足够的值)的深入分析
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决
  • 谁能帮忙解释一下: ORA-01000 : maximun open cursors exceeded
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • 我在Linux7。3下面装了一个Oracle8i,但是现在启动不起来了,总是报错ORA-01031: insufficient privileges
  • zilong28提问:Tomcat3.2报错内容是Error occurs when connecting DB: ORA-00020: maximum number of processes(59) exceeded 我应该如何解决,先谢了
  • ORA-28002 Oracle 11g存在密码过期问题解决方案
  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
  • oracle报错(ORA-00600)问题处理


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,