Создать таблицу запроса в SQL Server - PullRequest
2 голосов
/ 18 мая 2019

У меня есть следующая инструкция SQL, которую я пытаюсь запустить в SQL Server, но у меня неправильный формат. Почему это не работает?

CREATE TABLE Order
(
    OrderID NUMBER(11, 0) NOT NULL,
    CustomerID NUMBER(11, 0),
    OrderDate DATE DEFAULT SYSDATE,

    CONSTRAINT Order_PK PRIMARY KEY (OrderID),
    CONSTRAINT Order_FK1 
        FOREIGN KEY (CustomerID) REFERENCES Customer (CustomerID)
);

Ответы [ 2 ]

2 голосов
/ 18 мая 2019

Order - это ключевое слово, которое вы должны заключить в квадратные скобки.
NUMBER не является типом данных для SQL Server, думаю, вам нужно INTEGER.
Используйте SYSDATETIME() вместо SYSDATE.
Что касается ссылки на Customers, я не могу сказать, правильно ли это утверждение.

CREATE TABLE [Order]
(
 OrderID INTEGER NOT NULL,
 CustomerID INTEGER,
 OrderDate DATE DEFAULT SYSDATETIME(),
 CONSTRAINT Order_PK PRIMARY KEY (OrderID),
 CONSTRAINT Order_FK1 FOREIGN KEY (CustomerID) REFERENCES Customer (CustomerID)
);
0 голосов
/ 18 мая 2019

Обратите внимание, что CustomerID из Customer должно быть PRIMARY KEY.

CREATE TABLE [Order]
(
 OrderID NUMERIC(11, 0) NOT NULL,
 CustomerID NUMERIC(11, 0),
 OrderDate DATE DEFAULT GETDATE(),
 CONSTRAINT Order_PK PRIMARY KEY (OrderID),
 CONSTRAINT Order_FK1 FOREIGN KEY
 (CustomerID)
 REFERENCES Customer (CustomerID)
);
...