ORA-00913错误:PL/SQL: ORA-00913: too many values
来源:互联网 发布:怎么变成单位矩阵 编辑:程序博客网 时间:2024/06/06 20:42
ORA-00913错误
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.
描述:PL/SQL: ORA-00913: too many values
目标:编写一个可以循环插入数据的脚本
操作过程:
SQL> desc tcustmerName 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理解错误,创建序列的目的正是消除主键的干扰,所以在使用的时候需要将其放到列值中。
1 0
- ORA-00913错误:PL/SQL: ORA-00913: too many values
- ORA-00913: too many values 错误分析
- ORA-00913: too many values分析
- ORA-06502 assigning values from SQL to PL/SQL variables
- pl/sql developer ora 12514 TNS错误
- PL/SQl连接数据库ORA-12154错误
- ora faq_SQL&PL/SQL
- PL/SQL:ORA-00942
- ORA-01898: too many precision specifiers 分析
- PL/SQL连接Oracle错误:ORA-12514、ORA-01034、ORA-27101
- java.sql.SQLException: ORA-06553: PLS-307: too many declarations of 'GET_PROFILE_VALUE' match this call
- PL/SQL删除表出现ORA-00942错误
- PL/SQL Developer 使用错误的tnsnames.ora,如何修改?
- ORA-06502: PL/SQL: 数字或值错误
- ora-06502 pl/sql 数字或值错误
- PL/SQL Developer 使用错误的tnsnames.ora,如何修改?
- 使用PL/SQL中出现ORA-06550错误
- ORA-06502: PL/SQL: 数字或值错误
- HOLTEK(盛群)样片申请与经验
- [程序员应该知道的]硬盘基本知识(一)
- java中的堆、栈和常量池
- 如何保证网站文字内容的可读性
- uva Risk(Floyd求最短路)
- ORA-00913错误:PL/SQL: ORA-00913: too many values
- CKEditor,CKFinder实现文件上传
- 基于apache的linux web服务器配置
- 导航高亮显示
- linux apache web站点配置详解
- 几种常见排序算法实现
- 蔡力能心得5
- Oracle EBS WMS功能介绍(二)
- [WEB]Jetty的结构