Ich habe Probleme, meine SQL-Tabelle zu arbeiten. Es gibt mir einen Fehler, dass es Tabellen nicht wegen Erlaubnis oder nicht vorhanden fallen lassen kann. Und es sagt mir, dass es auch eine ungültige Tabelle gibt.Fehler mit meiner SQL-Datenbank
Ich habe derzeit:
drop table Orders
drop table Item
drop table Supplier
drop table Staff
drop table Customers
drop table Ingredient
CREATE TABLE Supplier(
SupplierNo CHAR(7) PRIMARY KEY,
SupplierName CHAR(25),
SupplierAddress VARCHAR(25),
SupplierPhone CHAR(10),
SupplierContactPerson CHAR (35)
)
go
CREATE TABLE Item (
ItemNo CHAR(7) PRIMARY KEY,
ItemName CHAR(10),
ItemType CHAR(10),
Price DEC(3,2),
IngredientCode CHAR (5),
FOREIGN KEY(IngredientCode) REFERENCES Ingredient(IngredientCode)
)
go
CREATE TABLE Staff (
EmployeeID CHAR(3) PRIMARY KEY,
FirstName CHAR(10),
LastName CHAR(10),
PostalAddress VARCHAR(MAX),
ContactNumber CHAR (10),
RateOfPay MONEY,
EmployementStatus CHAR(25)
)
CREATE TABLE Customers (
CustomerID CHAR(4) PRIMARY KEY,
CustomerFN CHAR(25),
CustomerLN CHAR(25),
CustomerPhN CHAR(11),
CAddress VARCHAR (25)
)
go
CREATE TABLE Ingredient(
IngredientCode CHAR (5) PRIMARY KEY,
IngredientName CHAR(25),
IngredientDesc VARCHAR(max),
CurrentStockLevel CHAR(3),
PreviousStockLevel CHAR(3),
SuggestedStockLevel CHAR(3),
SupplierNo CHAR(7),
Supplied DATE(),
FOREIGN KEY(SupplierNo) REFERENCES Supplier(SupplierNo)
)
CREATE TABLE Orders(
OrderNo CHAR(7),
OrderDate DATE(),
CustomerNo CHAR(4) FOREIGN KEY,
EmployeeID CHAR(3) FOREIGN KEY,
ItemNo CHAR(7) FOREIGN KEY,
TypeOfOrder CHAR(10),
TotalAmount MONEY(),
PaymentMethod CHAR(10),
OrderStatus CHAR(10)
FOREIGN KEY CustomerNo, EmployeeID, ItemNo
REFERENCES Customer(CustomerNo), Staff(EmployeeID), Item(ItemNo)
)
Es scheint wie ein sehr einfaches Problem zu haben, aber ich bin nicht einmal sicher, was es bedeutet, mit mir keine Erlaubnis haben oder die Tabelle nicht an allen bestehenden ...
In SQL erstellen, müssen Aussagen termin sein mit ';'. Außerdem: Welches [DBMS] (https://en.wikipedia.org/wiki/DBMS) Produkt verwenden Sie? "_SQL_" ist nur eine Abfragesprache, nicht der Name eines bestimmten Datenbankprodukts. –
Unabhängig davon, welches DBMS tatsächlich verwendet wird: 'CustomerNo CHAR (4) FOREIGN KEY,' ist falsch. Sie müssen das _target_ dieses Fremdschlüssels angeben, z. 'CustomerNo CHAR (4) verweist auf Kunden'. Bitte lesen Sie das Handbuch Ihres DBMS für die korrekte Syntax –
So etwas wie das?
CREATE TABLE Orders( OrderNo CHAR(7), OrderDate DATE(), CustomerNo CHAR(4) FOREIGN KEY REFERENCES Customer(CustomerNo), EmployeeID CHAR(3) FOREIGN KEY REFERENCES Staff(EmployeeID), ItemNo \t \t CHAR(7) FOREIGN KEY REFERENCES Item(ItemNo), TypeOfOrder CHAR(10), TotalAmount MONEY(), PaymentMethod CHAR(10), OrderStatus CHAR(10)
– straysheep17