使用子查询将oracle插入到表中

使用子查询将oracle插入到表中,oracle,plsql,ora-00907,Oracle,Plsql,Ora 00907,我希望你身体好。我需要你的帮助,回答卡普兰测验题中的以下问题。下面的问题应该是正确的答案,但我无法让它工作。请您查查并提出建议 rgd's 诺曼 SQL> EDIT Wrote file afiedt.buf INSERT INTO (SELECT PHYSICIAN_ID, LAST_NAME, FIRST_NAME, LICENSE_NO, HIRE_DATE FROM PHYSICIAN WITH CHECK OPTION WHERE LICENSE_NO BETWEEN 1

我希望你身体好。我需要你的帮助,回答卡普兰测验题中的以下问题。下面的问题应该是正确的答案,但我无法让它工作。请您查查并提出建议

rgd's

诺曼

SQL> EDIT
Wrote file afiedt.buf



INSERT INTO
(SELECT PHYSICIAN_ID, LAST_NAME, FIRST_NAME, LICENSE_NO, HIRE_DATE
FROM PHYSICIAN
WITH CHECK OPTION
WHERE LICENSE_NO BETWEEN 1 AND 200)
VALUES (PHY_NUM_SEQ.NEXTVAL, '&LNAME', '&FNAME', &LNO, SYSDATE)

SQL> /
**Enter value for lname: BARRETT

Enter value for fname: NORMAN

Enter value for lno: 1**

old   6: VALUES (PHY_NUM_SEQ.NEXTVAL, '&LNAME', '&FNAME', &LNO, SYSDATE)
new   6: VALUES (PHY_NUM_SEQ.NEXTVAL, 'BARRETT', 'NORMAN', 1, SYSDATE)
WHERE LICENSE_NO BETWEEN 1 AND 200)

*

> **ERROR at line 5: ORA-00907: missing right parenthesis**



SQL> `SELECT PHY_NUM_SEQ.NEXTVAL FROM DUAL;`



   NEXTVAL
----------
         1



SQL> DESC PHYSICIAN


Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PHYSICIAN_ID                              NOT NULL NUMBER
 LAST_NAME                                 NOT NULL VARCHAR2(30)
 FIRST_NAME                                NOT NULL VARCHAR2(25)
 LICENSE_NO                                NOT NULL NUMBER(7)
 HIRE_DATE                                          DATE


SQL>

有一行带有检查选项的
,导致错误

ORA-00907:缺少右括号

语句中选择


去掉那条线就足够了

您没有为插入指定表名。它应该是
插入目标_表(列_1,列_2,…)选择。。。从…
(no
values
子句!)干杯,伙计们,您是对的,WITH CHECK选项应该在WHERE子句下面。现在工作