使用子查询将oracle插入到表中
我希望你身体好。我需要你的帮助,回答卡普兰测验题中的以下问题。下面的问题应该是正确的答案,但我无法让它工作。请您查查并提出建议 rgd's 诺曼使用子查询将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
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,…)选择。。。从…
(novalues
子句!)干杯,伙计们,您是对的,WITH CHECK选项应该在WHERE子句下面。现在工作