Итак, я создал таблицу под названием «exam» с тремя столбцами «Name», «Rollno» и «Result P/F». Я хочу, чтобы он сделал следующее:SQL: Trouble in Check Constraint/Sequence
Когда имя вводится (через синтаксис '& name'), оно автоматически назначает первое имя с номером рулона (Rollno) 1501 И затем запрашивает у вас результат, для которого вы можете вводить только «P» или «F», для прохода или отказа, соответственно. Когда вы вводите следующее имя, он увеличивает Rollno до 1502 .. и так далее.
О части Ролно, у меня есть последовательность под названием EXAMSQN. Похоже, что:
О части «Результат P/F», у меня есть контрольное ограничение. И это, как я вставить значения в таблицу:
insert into exam (name, rollno, "Result P/F")
values ('&name', examsqn.nextval, '&Result P/F')
И, кстати, это как мой проверочное ограничение идет:
1 alter table exam
2* add constraint exam_result_ck check ("Result P/F" in ('P','F'))
Так что я ожидаю от этого он займет только P или и F, когда он запрашивает результат
Меня спрашивают имя и результат, но сразу после этого я получаю сообщение об ошибке. Вот как это делается в целом:
Enter value for name: nikh
Enter value for result: P
old 2: values ('&name', examsqn.nextval, '&Result P/F')
new 2: values ('nikh', examsqn.nextval, 'P P/F')
insert into exam (name, rollno, "Result P/F")
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.EXAM_RESULT_CK) violated
Ваша помощь очень признательна.
Спасибо :)
Его для Oracle. –