После некоторых исследований я нашел способ вставить данные в таблицы, используя синтаксис этого примера:
INSERT INTO room_type (id, max_capacity, description)
WITH names AS (
SELECT 1, 2, 'Single - Standard room for a single person' FROM dual UNION ALL
SELECT 2, 2, 'Double - standard room for 2 persons' FROM dual UNION ALL
SELECT 3, 3, 'Triple - standard room for 3 persons' FROM dual UNION ALL
SELECT 4, 4, 'QUAD - Standard room for 4 people' FROM dual UNION ALL
SELECT 6, 2, 'KING - Room with king sized bed, single or double' FROM dual UNION ALL
SELECT 10, 4, 'Apartments - Room for a longer stay(Open kitchens, dryer, washer)' FROM dual
)
SELECT * FROM names
Этот код работал просто отлично, и все таблицы обновлялись.Затем, конечно, я решил пойти дальше и попытался обновить другую таблицу с помощью некоторого похожего кода, но он просто не проходит и выдает мне сообщение об ошибке
У меня уже есть весь список, но какТестовый пример У меня есть этот код, в котором всего несколько записей
INSERT INTO room (id, room_type_id, number, name)
WITH names AS (
SELECT 2, 1, 102, 'Single 102' FROM dual UNION ALL
SELECT 3, 1, 103, 'Single 103' FROM dual
)
SELECT * FROM names
Несмотря на то, что обе таблицы одинаковы, единственное отличие состоит в том, что room.room_type_id
является внешним ключом для него.
Я всегда получаю сообщение об ошибке
ORA-01747: неверный user.table.column, table.column или спецификация столбца
Пытался изменить имена столбцов, например, добавивцитаты, но получить еще одно сообщение об ошибке, мне просто нужно понять, почему первая таблица работает, а вторая нет, я попытался удалить room_type_id
, все еще получая то же самое.
Мне это нужно для создания проекта базы данных отеляи требуется использовать команду INSERT
для вставки данных.