0

複数のテーブルを挿入しようとしていますが、何らかの理由でエラーが発生しています。オンラインで調べて、セミコロンを追加しようとしましたが、うまくいきませんでした。

エラーは 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)

どんな助けでも大歓迎です、ありがとう。

4

3 に答える 3

1

1 つのステートメントで複数の挿入を実行することはできません。たとえば、それぞれに個別の挿入を作成する必要があります。

insert into table_1 (...) values (...);
insert into table_1 (...) values (...);
etc.

valuesまた、ではなくであることに注意してくださいvalue

于 2012-12-12T16:26:56.190 に答える
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;
于 2012-12-12T16:37:49.993 に答える
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;

デモで SQL Fiddle を参照してください

または、次を使用できます。

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;

デモで SQL Fiddle を参照してください

于 2012-12-12T16:53:10.413 に答える