Пропущен правильный аргумент при создании команды SQL - PullRequest
0 голосов
/ 13 апреля 2019

При создании таблиц ниже я получаю сообщение об ошибке

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

create table CustomerOrder (
    CustomerOrderNumber NUMBER(15) CONSTRAINT Customer_Order_Number_pk PRIMARY KEY
    Customer_Number         NUMBER(7), CONSTRAINT Customer_Number_fk FOREIGN KEY,
    Order_Date              Date(6) CONSTRAINT Order_Date_not_null NOT NULL,
    Order_Status        VARCHAR2(20) CONSTRAINT Order_Status NOT NULL,
    Order_Total          NUMBER(20) CONSTRAINT Order_Total NOT NULL
);

ОШИБКА в Customer_Number:
ORA-00907: отсутствует правая скобка

create table Work_Order (
    Work_Order_Number   NUMBER(20) CONSTRAINT Work_Order_Number_pk PRIMARY KEY,
    Product_Number      NUMBER(20),
    Work_Order_Date     Date(9) Work_Order_Date_not_null NOT NULL,
    Date_Required       Date(9) CONSTRAINT Date_Required_not_null NOT NULL,
    Date_Completed      Date(9) CONSTRAINT Date_Completed_not_null NOT NULL,
    Work_Status         VARCHAR2(100) CONSTRAINT Work_Status_not_null NOT NULL,
    Instruction         VARCHAR2(500) CONSTRAINT Instruction_not_null NOT NULL,
    CONSTRAINT Product_Number_fk FOREIGN KEY (Product_Number) REFERENCES Product(Product_Number)
);

ОШИБКА при Work_Order_Date:
ORA-00907: отсутствует правая скобка

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

create table Work_Order (
    Work_Order_Number   NUMBER(20) CONSTRAINT Work_Order_Number_pk PRIMARY KEY,
    Product_Number      NUMBER(20), CONSTRAINT Product_Number_fk FOREIGN KEY(Product_Number) REFERENCES Product(Product_Number),
    Work_Order_Date     Date(9) Work_Order_Date_not_null NOT NULL,
    Date_Required       Date(9) CONSTRAINT Date_Required_not_null NOT NULL,
    Date_Completed      Date(9) CONSTRAINT Date_Completed_not_null NOT NULL,
    Work_Status         VARCHAR2(100) CONSTRAINT Work_Status_not_null NOT NULL,
    Instruction         VARCHAR2(500) CONSTRAINT Instruction_not_null NOT NULL
);

ОШИБКА при Work_Order_Date:
ORA-00907: отсутствует правая скобка

Какие изменения мне нужно внести для создания этих таблиц?Куда мне нужно добавить круглые скобки?

Это для части курсовой работы о базе данных ювелирного магазина.Таблицы содержат информацию о бизнесе.

Ожидаемый результат при запуске на SQL:

таблица создана

Ответы [ 2 ]

1 голос
/ 13 апреля 2019

Похоже, вам нужно удалять запятые после определений столбцов и перед ОГРАНИЧЕНИЯМИ, если только это не в конце. должно быть:

CustomerOrderNumber NUMBER(15) CONSTRAINT Customer_Order_Number_pk PRIMARY KEY Customer_Number NUMBER(7) CONSTRAINT

ссылка https://www.techonthenet.com/oracle/tables/create_table.php

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

В отсутствие всех итогов и не зная точно, что вы ищете, вот несколько примеров, которые должны помочь вам начать работу

SQL> create table CustomerOrder (
  2      CustomerOrderNumber NUMBER(15) ,
  3      Customer_Number         NUMBER(7),
  4      Order_Date              Date NOT NULL,
  5      Order_Status        VARCHAR2(20) NOT NULL,
  6      Order_Total          NUMBER(20) NOT NULL,
  7      CONSTRAINT Customer_Order_Number_pk PRIMARY KEY ( CustomerOrderNumber )
  8  );

Table created.

SQL>
SQL> create table Work_Order (
  2      Work_Order_Number   NUMBER(20),
  3      Product_Number      NUMBER(20),
  4      Work_Order_Date     Date NOT NULL,
  5      Date_Required       Date CONSTRAINT Date_Required_not_null NOT NULL,
  6      Date_Completed      Date CONSTRAINT Date_Completed_not_null NOT NULL,
  7      Work_Status         VARCHAR2(100) CONSTRAINT Work_Status_not_null NOT NULL,
  8      Instruction         VARCHAR2(500) CONSTRAINT Instruction_not_null NOT NULL,
  9      CONSTRAINT Work_Order_Number_pk PRIMARY KEY ( Work_Order_Number )
 10  );

Table created.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...