Создать таблицу, используя SQL с первичным ключом, начинающимся с 'A' - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь создать таблицу с использованием SQL. Я хочу, чтобы мой первичный ключ - ArCode начинался с буквы 'A' . Я использовал комбинации check и наподобие , но безрезультатно.

Вот мой запрос:

Create table Article(
ArCode Char(5) Check (ArCode LIKE 'A%') Primary Key,
ArName Varchar2(30) Not Null,
Rate Number(8,2),
Quantity Number(4) Check (Quantity >=0) Default 0,
Class Char(1) Check (Class In ('A','B','C'))
);

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

1 Ответ

0 голосов
/ 14 января 2019

Ваша ошибка связана с определением столбца Количество. Комментируя это, или просто исправляя это так, что значение по умолчанию предшествует проверочному ограничению, позволяющему оператору create table работать очень хорошо:

Create table Article(
  ArCode Char(5) Check (ArCode LIKE 'A%') Primary Key,
  ArName Varchar2(30) Not Null,
  Rate Number(8,2),
--  Quantity Number(4) Check (Quantity >=0) Default 0,
  Quantity Number(4)  Default 0 Check (Quantity >=0),
  Class Char(1) Check (Class In ('A','B','C'))
);
...