Oracle 插入错误sql开发人员

Oracle 插入错误sql开发人员,oracle,oracle-sqldeveloper,Oracle,Oracle Sqldeveloper,我正在尝试将数据插入表中: INSERT INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (1, 'Single'), (2, 'Married'), (3, 'Separate'), (4, 'Widower'); 但我得到了一个错误: Error SQL: ORA-00933: comand SQL not properly ended 00933. 00000 - "SQL

我正在尝试将数据插入表中:

INSERT INTO CIVILSTATUS
  (CivilStatusID, CivilStatusDesc)
VALUES (1, 'Single'),
       (2, 'Married'),
       (3, 'Separate'),
       (4, 'Widower');
但我得到了一个错误:

Error SQL: ORA-00933: comand SQL not properly ended
00933. 00000 -  "SQL command not properly ended"
我做对了,还是我的语法有错误?

使用以下语法:

INSERT ALL
   INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (1, 'Single')
   INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (2, 'Married')
   INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (3, 'Separate')
   INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (4, 'Widower')
   .
   .
   .
SELECT 1 FROM DUAL;

我将重写如下

INSERT ALL 
INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (1, 'Single')
INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (2, 'Married')
INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (3, 'Separate')
INTO CIVILSTATUS (CivilStatusID, CivilStatusDesc) VALUES (4, 'Widower')
SELECT * FROM CIVILSTATUS

对于多行,需要使用select,如下所示:

insert into civilstatus
(CivilStatusID, CivilStatusDesc)
select 2, 'Married' from dual
union all select 3, 'Separate' from dual;

若要执行多个插入,请使用insert into select或SEparate into multiple insert。此操作不会运行,之后需要某种select语句。这就是为什么我不喜欢这种方法。(就像在mayabelle的帖子中)谢谢,在mySQL上工作了几个星期,对甲骨文太生疏了!