UnP*_*uac 7 sql sqlcommand oracle11g
当我进入这个
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);
Run Code Online (Sandbox Code Playgroud)
我得到了跟随错误
ORA-00933:SQL命令未正确结束
Jus*_*ave 10
在Oracle中,你不能像这样指定多组值(我猜你是来自允许该语法的MySQL背景).最简单的方法是生成多个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);
...
Run Code Online (Sandbox Code Playgroud)
您还可以使用单个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;
Run Code Online (Sandbox Code Playgroud)