Syntax error: missing expression (ORA-00936)

Ich habe 2 Tabellen, Facilities und Services.

CREATE TABLE Facilities (
facility_id NUMBER(2) NOT NULL,
facility_name VARCHAR2(20) NOT NULL,
CONSTRAINT pk_facil_id PRIMARY KEY (facility_id)
);

CREATE TABLE Services (
service_id NUMBER(2) NOT NULL,
service_name VARCHAR(20) NOT NULL,
service_facility NUMBER(2) NOT NULL,
CONSTRAINT pk_serviceid PRIMARY KEY (service_id)
);

ALTER TABLE Services
add CONSTRAINT fk_servicefacility FOREIGN KEY(service_facility) 
REFERENCES Facilities(facility_id);

Wenn ich versuche die Eingabe von Datensätzen in die 'Dienste' Tabelle etwa so:

INSERT INTO Services (service_id, service_name, service_facility) 
SELECT 06, 'Rooms', 
(SELECT facility_id, FROM Facilities WHERE facility_name = 'Hotel') 
FROM Dual;

Bekomme ich einen Fehler "missing expression" für 3 von den 7 insert-Anweisungen. Was Ausdruck fehlt?

Der Dienst sollte eine FacilityID, welches ein Fremdschlüssel auf den Primärschlüssel in den Einrichtungen Tabelle. Die Einrichtung Tabelle sollte nicht über einen Verweis auf die Service-Tabelle. Sie müssen dann erstellen Sie einen service-Datensatz für jeden Dienst an einem Standort. Also, wenn 2 Einrichtungen bieten Wasser, dann hättest du 2 Platten in Betrieb, eine für Wasser und Anlage 1, eine für Wasser und Anlage 2
Ich weiß nicht, ob Sie verstehen, was ich versuche zu tun. Ich habe eine Anlage sagen Health Centre. Das Gesundheitszentrum kann eine Gym, Pool und Spa. Aber ich will nicht die Gym zu werden, der anderen Einrichtung
Ja, deine Tabellenstruktur ist korrekt, aber sind Sie hinzufügen von Datensätzen, um es richtig?

InformationsquelleAutor adohertyd | 2012-05-03

Schreibe einen Kommentar