使用子查询

时间:2018-05-25 10:22:41

标签: oracle plsql ora-00907

我希望你很好。从kaplan trianing考试题目中我需要你的帮助。下面的查询被认为是正确的答案,但我不能让它工作。你能检查一下吗?

RGD的

诺曼

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>

1 个答案:

答案 0 :(得分:1)

导致错误的WITH CHECK OPTION

  

ORA-00907:缺少右括号

SELECT声明中。

删除该行就足够了。