Database PL/SQL INSERT ALL语句被忽略且缺少select statmenet

Database PL/SQL INSERT ALL语句被忽略且缺少select statmenet,database,oracle,stored-procedures,plsql,Database,Oracle,Stored Procedures,Plsql,下面是我在两个表中插入信息的过程 CREATE OR REPLACE PROCEDURE INSERT_EMPLOYEE(eNum IN NUMBER, eName VARCHAR2, dob DATE, ddr VARCHAR2,

下面是我在两个表中插入信息的过程

CREATE OR REPLACE PROCEDURE INSERT_EMPLOYEE(eNum IN NUMBER,
                                            eName VARCHAR2,
                                            dob DATE,
                                            ddr VARCHAR2,
                                            hDate DATE,
                                            lNum NUMBER,
                                            status VARCHAR2,
                                            expr VARCHAR2)
IS
BEGIN
INSERT ALL 
    INTO TRKEMPLOYEE (E#, NAME, DOB, ADDRESS, HIREDATE) VALUES (eNum, eName, dob, addr, hDate);
    INTO MECHANIC (E#, L#, STATUS, EXPERIENCE) VALUES (eNum, lNum, expr);
SELECT * FROM DUAL;
END INSERT_EMPLOYEE;
/
但是,我在编译过程时会出错

11/2     PL/SQL: SQL Statement ignored
12/93    PL/SQL: ORA-00928: missing SELECT keyword
13/3     PLS-00103: Encountered the symbol "INTO" when expecting one of
         the following:
         ( begin case declare end exception exit for goto if loop mod
           <an identifier> <a double-quoted delimited-identifier>
           <a bind variable> << continue close current delete fetch lock
           insert open rollback savepoint set sql execute commit forall
           merge pipe purge json_exists json_value json_query
           json_object json_array

LINE/COL ERROR
-------- -----------------------------------------------------------------
         The symbol "insert" was substituted for "INTO" t
11/2 PL/SQL:SQL语句被忽略
12/93 PL/SQL:ORA-00928:缺少SELECT关键字
13/3 PLS-00103:在预期以下情况之一时遇到符号“INTO”
以下是:
(如果循环模式为goto,则开始案例声明结束异常退出

select需要提供所有值,以便:

    insert all 
        into trkemployee (e#, name, dob, address, hiredate) values (enum, ename, dob, addr, hdate) 
        into mechanic (e#, l#, status, experience) values (enum, lnum, expr) 
    select eNum, eName, dob, addr, hDate,  lNum, expr from dual;

Dual本身是一个单行、单列。

values子句后面有分号。请尝试删除它们。另一个观察结果是,对于
到MECHARIC
指定的列数与值数不同。为什么要使用标记
mysql
?在我看来,这就像Oracle…@micklesh after删除分号后,我的ORA-00947:值不足错误我更新了第一条注释。在第二条的列和值子句中指定了不同数量的字段insert@micklesh好的,我已经解决了,谢谢:)