Исключение oracle при вставке из одной таблицы в другую таблицу = однострочный подзапрос возвращает более одной строки

Я вставляю значения из таблицы A в таблицу B со следующим запросом. Теперь я получаю сообщение об ошибке типа single-row subquery returns more than one row. Если я удалю два поля ACCESS_ACNT, IDV, тогда я могу вставить, в противном случае с полным запросом я получаю сообщение об ошибке. Полный запрос приведен ниже

INSERT
INTO B
  (
    T_NAME,
    IP,
    LOCATION,
    ACCESS_ACNT,
    SERVICE,
    IDV
  )
SELECT T_NAME,
  IP,
  LOCATION,
  ACCESS_ACNT,
  SERVICE,
  IDV
FROM A ;

успешный запрос после удаления ACCESS_ACNT, IDV выглядит следующим образом

 INSERT
INTO B
  (
    T_NAME,
    IP,
    LOCATION,
    SERVICE
  )
SELECT T_NAME,
  IP,
  LOCATION,
  SERVICE
FROM A ;

.Как решить эту проблему

В вашем запросе нет подзапроса. Ошибка, скорее всего, вызвана триггером, поэтому вам придется изучить этот код.

Gordon Linoff 18.12.2018 13:30

Я так не думаю, как узнать, какой триггер? Сначала он работал нормально. Но теперь все мы внезапно

peter 18.12.2018 13:38

Попробуйте запустить select * from all_triggers where table_name = 'YOUR_TABLE_NAME'

Kaushik Nayak 18.12.2018 14:46
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
3
27
1

Ответы 1

Попробуйте сравнить типы данных проблемных полей, найдите какие-либо ограничения на B, попробуйте также добавить префикс имени таблицы для вашего выбора - a.idv и т. д.

Все сделали, но до сих пор не повезло

peter 18.12.2018 13:56

Другие вопросы по теме