If looks like you're using the MySQL format for a multi-row INSERT statement. This is not correct for use with Oracle. It should be
INSERT ALL
INTO SHOPS (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6)
VALUES ('12345', '10 smith street', 'brunswick', '3030', '0404123123',
'[email protected]'),
INTO SHOPS (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6)
VALUES ('65435', '10 road street', 'fitzroy', '3030', '0404546564',
'[email protected]'),
INTO SHOPS (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6)
VALUES ('34232', '10 car street', 'carlton', '3030', '0404455432',
'[email protected]')
SELECT * FROM DUAL;
As an alternative you can use a different form of the INSERT statement:
INSERT INTO SHOPS (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6)
SELECT '12345', '10 smith street', 'brunswick', '3030', '0404123123',
'[email protected]' FROM DUAL UNION ALL
SELECT '65435', '10 road street', 'fitzroy', '3030', '0404546564',
'[email protected]' FROM DUAL UNION ALL
SELECT '34232', '10 car street', 'carlton', '3030', '0404455432',
'[email protected]' FROM DUAL
Or you can use a MERGE statement:
MERGE INTO SHOPS s
USING (SELECT '12345' AS FIELD1, '10 smith street' AS FIELD2, 'brunswick' AS FIELD3,
'3030' AS FIELD4, '0404123123' AS FIELD5,
'[email protected]' AS FIELD6 FROM DUAL UNION ALL
SELECT '65435', '10 road street', 'fitzroy', '3030', '0404546564',
'[email protected]' FROM DUAL UNION ALL
SELECT '34232', '10 car street', 'carlton', '3030', '0404455432',
'[email protected]' FROM DUAL) d
ON (d.FIELD1 = s.FIELD1)
WHEN NOT MATCHED THEN
INSERT (FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6)
VALUES (d.FIELD1, d.FIELD2, d.FIELD3, d.FIELD4, d.FIELD5, d.FIELD6);
I used FIELD1, FIELD2, ..., FIELD6 since you didn't includes a field list with your INSERT statement - replace these with the correct field names. The MERGE statement assumes that FIELD1 is the primary key on SHOPS - replace it with the correct field name.