Błąd składniowy: brak wyrażenia (ORA-00936)
Mam 2 tabele:
Udogodnieniai
Usługi.
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);
Jeśli spróbuję wprowadzić rekordy w tabeli „Usługi” w ten sposób:
INSERT INTO Services (service_id, service_name, service_facility)
SELECT 06, 'Rooms',
(SELECT facility_id, FROM Facilities WHERE facility_name = 'Hotel')
FROM Dual;
Otrzymuję błąd „brakujące wyrażenie” dla 3 z 7 instrukcji wstawiania. Jakiego wyrażenia brakuje?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Jeśli usuniesz przecinek, operator działa
Zauważ jednak, że zwykle wolę składnię Stefana, w której wybierasz zamiast z podzapytaniem skalarnym.
Anonimowy użytkownik
Potwierdzenie od:
W obecnym stanie żądanie, które przesłałem, spowoduje dodanie rekordu obsługi pokoju dla każdego obiektu wraz z nazwą hotelu.
Następnie dodaj sprzężenie do swojego stołu „Dual”, aby uzyskać odpowiednią liczbę insertów/uzyskać właściwe środki.