当我输入这个
INSERT INTO works_on (essn, pno, hours) values ('123456789', 1, 32.5), ('123456789', 2, 7.5), ('666884444', 3, 40.0), ('453453453', 1, 20.0), ('453453453', 2, 20.0), ('333445555', 2, 10.0), ('333445555', 3, 10.0), ('333445555', 10, 10.0), ('333445555', 20, 10.0), ('999887777', 30, 30.0), ('999887777', 10, 10.0), ('987987987', 10, 35.0), ('987987987', 30, 5.0), ('987654321', 30, 20.0), ('987654321', 20, 15.0), ('888665555', 20, 0);
我收到关注错误
ORA-00933:SQL命令未正确结束
在Oracle中,您不能像这样指定多组值(我猜您来自允许该语法的MySQL背景)。最简单的方法是生成多个INSERT语句
INSERT
INSERT INTO works_on (essn, pno, hours) values ('123456789', 1, 32.5); INSERT INTO works_on (essn, pno, hours) values ('123456789', 2, 7.5); INSERT INTO works_on (essn, pno, hours) values ('666884444', 3, 40.0); ...
您还可以使用单个INSERT ALL语句插入多行
INSERT ALL
INSERT ALL INTO works_on(essn, pno, hours) values('123456789', 1, 32.5) INTO works_on(essn, pno, hours) values('123456789', 2, 7.5) INTO works_on(essn, pno, hours) values('666884444', 3, 40.0) INTO works_on(essn, pno, hours) values('453453453', 1, 20.0) INTO works_on(essn, pno, hours) values('453453453', 2, 20.0) INTO works_on(essn, pno, hours) values('333445555', 2, 10.0) INTO works_on(essn, pno, hours) values('333445555', 3, 10.0) ... SELECT * FROM dual;