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
Try:
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 (10);
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
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);