вставка оракула в таблицу с использованием подзапроса - PullRequest
0 голосов
/ 25 мая 2018

Надеюсь, ты в порядке.Мне нужна ваша помощь по следующему вопросу из экзаменационного вопроса Каплана.Предполагается, что приведенный ниже запрос является правильным ответом, но я не могу заставить его работать.Не могли бы вы проверить и посоветовать.

ргд

Норман

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 голосов
/ 25 мая 2018

Есть строка WITH CHECK OPTION, которая вызывает ошибку

ORA-00907: отсутствует правая скобка

внутри вашего оператора SELECT.

Достаточно удалить эту строку.

...