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好的,我已经解决了,谢谢:)