我正在尝试执行多表插入但由于某种原因我收到错误。我在网上看了一下,尝试添加一个半音,但没有用。
错误是SQL错误:ORA-00933:SQL命令未正确结束
这是我的代码
Insert Into EMP (empno,ename,job,mgr,sal,deptno)
Value (4600,'BOB','CONSULT',4699,900,60),
(5300,'AILEEN','MANAGER',7839,1800,40),
(9873,'RYAN','CONSULT',4699,800,50)
感谢任何帮助,谢谢。
答案 0 :(得分:1)
您无法在一个语句中执行多个插入操作。您必须为每个插件编写单独的插件,例如
insert into table_1 (...) values (...);
insert into table_1 (...) values (...);
etc.
另请注意,它是values
,而不是value
。
答案 1 :(得分:1)
您也可以使用此命令在单个语句中插入所有记录
Insert all Into EMP (empno,ename,job,mgr,sal,deptno)
Values (4600,'BOB','CONSULT',4699,900,60)
Into EMP (empno,ename,job,mgr,sal,deptno)
values (5300,'AILEEN','MANAGER',7839,1800,40)
Into EMP (empno,ename,job,mgr,sal,deptno)
values (9873,'RYAN','CONSULT',4699,800,50)
select * from dual;
答案 2 :(得分:1)
您可以随时使用INSERT INTO...SELECT ..FROM dual
,在每个选择之间使用UNION ALL
:
insert into EMP (empno,ename,job,mgr,sal,deptno)
select 4600,'BOB','CONSULT',4699,900,60
from dual
union all
select 5300,'AILEEN','MANAGER',7839,1800,40
from dual
union all
select 9873,'RYAN','CONSULT',4699,800,50
from dual;
或者您可以使用:
INSERT ALL
INTO emp (empno, ename, job, mgr, sal, deptno)
VALUES (4600, 'BOB', 'CONSULT', 4699, 900, 60)
INTO emp (empno, ename, job, mgr, sal, deptno)
VALUES (5300, 'AILEEN', 'MANAGER', 7839, 1800, 40)
INTO emp (empno, ename, job, mgr, sal, deptno)
VALUES (9873, 'RYAN', 'CONSULT', 4699, 800, 50)
SELECT *
FROM dual;