这是我必须做的代码,但它给出了一个错误,说代码没有正确结束,我看不出问题,也许我只是瞎了,但我不知道。
INSERT INTO Customer VALUES
(11011, 'Jeffery', 'Smith', '18 Water RD', 0877277521, 'jef@isat.com'),(its giving me an error here and saying the statement hasn't ended correctly)
(11012, 'Alex', 'Hendricks', '22 Water Rd', 0863257857 , 'ah@mcom.com'),
(11013 , 'Johnson', 'Clark', '101 Summer Lane', 0834567891,'jclark@mcom.co.za'),
(11014 , 'Henry', 'Jones', '55 Mountain Way',0612547895 ,'hj@isat.co.za'),
(11015 , 'Andre', 'Williams', '5 Main Rd ', 0827238521,'aw@mcal.co.za');
Oracle一次只支持在行上插入。最简单的解决方案是多个插入:
INSERT INTO Customer VALUES (11011, 'Jeffery', 'Smith', '18 Water RD', 0877277521, 'jef@isat.com');
INSERT INTO Customer VALUES (11012, 'Alex', 'Hendricks', '22 Water Rd', 0863257857 , 'ah@mcom.com');
INSERT INTO Customer VALUES (11013 , 'Johnson', 'Clark', '101 Summer Lane', 0834567891,'jclark@mcom.co.za');
INSERT INTO Customer VALUES (11014 , 'Henry', 'Jones', '55 Mountain Way',0612547895 ,'hj@isat.co.za');
INSERT INTO Customer VALUES (11015 , 'Andre', 'Williams', '5 Main Rd ', 0827238521,'aw@mcal.co.za');
其他解决方案是使用insert all
或将语句从values
转换为select . . . from dual union all
。
我还建议您明确列出列,以帮助防止无意的错误。
您可以使用INSERT ALL
语句
INSERT ALL
INTO Customer VALUES (11011, 'Jeffery', 'Smith', '18 Water RD', 0877277521, 'jef@isat.com')
INTO Customer VALUES (11012, 'Alex', 'Hendricks', '22 Water Rd', 0863257857 , 'ah@mcom.com')
INTO Customer VALUES (11013 , 'Johnson', 'Clark', '101 Summer Lane', 0834567891,'jclark@mcom.co.za')
INTO Customer VALUES (11014 , 'Henry', 'Jones', '55 Mountain Way',0612547895 ,'hj@isat.co.za')
INTO Customer VALUES (11015 , 'Andre', 'Williams', '5 Main Rd ', 0827238521,'aw@mcal.co.za')
SELECT * FROM DUAL;
db<gt;在这里摆弄