私は2つのテーブルFacilities
とServices
を持っています。構文エラー:式が見つかりません(ORA-00936)
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);
私はそうのように「サービス」テーブルにレコードを入力しようとした場合:
INSERT INTO Services (service_id, service_name, service_facility)
SELECT 06, 'Rooms',
(SELECT facility_id, FROM Facilities WHERE facility_name = 'Hotel')
FROM Dual;
私は3のエラー「という表現を欠けている」7つの挿入文から抜け出します。どのような表現が欠けていますか?
サービスにはFacilitiesIDが必要です。これはFacilityテーブルの主キーの外部キーです。ファシリティテーブルには、サービステーブルへの参照がありません。次に、施設で各サービスのサービスレコードを作成する必要があります。もし2つの施設が水を提供すれば、あなたは2つの記録、1つは水と施設1、もう1つは水と施設2になります。 –
@StefanH私は何をしようとしているのか分かりません。私は施設に「健康センター」と言う。このヘルスセンターには、「ジム」、「プール」、「スパ」があります。しかし、私は 'ジム 'を他の施設で利用できないようにしたいと考えています – adohertyd
はい、あなたのテーブル構造は正しいですが、レコードを正しく追加していますか? –