Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ORA-00933: SQL command not properly ended in insert command

The are many questions with this same title but I can't find an answer among those.

What am I doing wrong?

CREATE TABLE J
    (A integer)
;

INSERT INTO J (A)
VALUES
    (1),
    (2),
    (3),
    (4),
    (5),
    (6),
    (7),
    (8),
    (9),
    (10)
;

The create alone works. The problem is just the insert. I tried in SQL Fiddle.

like image 817
Clodoaldo Neto Avatar asked Sep 22 '26 11:09

Clodoaldo Neto


2 Answers

You can do it several ways (See SQL Fiddle with Demo):

INSERT ALL 
    INTO J (A) VALUES (1)
    INTO J (A) VALUES (2)
    INTO J (A) VALUES (3)
    INTO J (A) VALUES (4)
    INTO J (A) VALUES (5)
    INTO J (A) VALUES (6)
    INTO J (A) VALUES (7)
    INTO J (A) VALUES (8)
SELECT * FROM dual
;

Or (See SQL Fiddle With Demo):

INSERT INTO J (A)
select  (1) from dual union all
select  (2) from dual union all
select  (3) from dual union all
select  (4) from dual union all
select  (5) from dual union all
select  (6) from dual union all
select  (7) from dual union all
select  (8) from dual union all
select  (9) from dual union all
select  (10) from dual

Or even separate INSERT statements for each one:

INSERT INTO J (A) VALUES (1);
INSERT INTO J (A) VALUES (2);
INSERT INTO J (A) VALUES (3);
INSERT INTO J (A) VALUES (4);
INSERT INTO J (A) VALUES (5);
INSERT INTO J (A) VALUES (6);
like image 144
Taryn Avatar answered Sep 24 '26 08:09

Taryn


You are adding multiple values into a 1 column table.

You need Insert into J (A) values (1);

Insert into J (A) values (2);

etc

like image 39
mcalex Avatar answered Sep 24 '26 09:09

mcalex



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!