Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 08.01.2021, 00:47   #1
Анастасия_См
 
Регистрация: 05.01.2020
Сообщений: 7
По умолчанию Ошибка ora-01427

Всем добра.)
Есть SQL-скрипт на обновление таблицы, но при выполнении выскакивает ошибка: Ora-01427: single-row subquery returns more than one row

update sv_stat a
Set (a.statia, a.prim, a.chast, a.pynkt) = (
select kv2.statia, kv2.prim, kv2.chast, kv2.pynkt from sv_stat2 kv2
where
kv2.kod=to_number (substr (number_ud, 1, 1), ‘9999’)
and
kv2.podr=to_number (substr (number_ud, 4,8)
and
kv2.ud=to_number (substr (number_ud, 12,6)))
where id is not null;

При ошибке выделяет оператор SELECT
В чем ошибка может быть, подскажите, пожалуйста
Анастасия_См вне форума Ответить с цитированием
Старый 08.01.2021, 15:54   #2
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,831
По умолчанию

Цитата:
Сообщение от Анастасия_См Посмотреть сообщение
В чем ошибка может быть, подскажите, пожалуйста
Вам Oracle говорит в чём причина проблемы.
Цитата:
Сообщение от Анастасия_См Посмотреть сообщение
single-row subquery returns more than one row
У Вас подзапрос возвращает насколько записей вместо одной. Естественно Update из-за этого не отработает.
Streletz вне форума Ответить с цитированием
Старый 09.01.2021, 01:54   #3
Анастасия_См
 
Регистрация: 05.01.2020
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Вам Oracle говорит в чём причина проблемы.

У Вас подзапрос возвращает насколько записей вместо одной. Естественно Update из-за этого не отработает.
Я это понимаю, но не понимаю почему так происходит. Потому что задвоений в таблицах нет.
Анастасия_См вне форума Ответить с цитированием
Старый 11.01.2021, 17:20   #4
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,831
По умолчанию

Цитата:
Сообщение от Анастасия_См Посмотреть сообщение
задвоений в таблицах нет
Дубли вполне могут быть в результатах выборки.
Streletz вне форума Ответить с цитированием
Старый 14.01.2021, 04:33   #5
Анастасия_См
 
Регистрация: 05.01.2020
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Дубли вполне могут быть в результатах выборки.
Спасибо, вы правы. При выполнении select появились дубли. Все исправила и все работает.
Анастасия_См вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
oracle: при заполнении таблиц с датой, не воспринимает никакой формат записи - выдает ошибку ORA-01861 либо ORA-01821 USER25 Помощь студентам 15 22.04.2015 17:48
Oracle ошибка ORA-00933 rainbow SQL, базы данных 0 17.04.2012 07:57
ORA-00604, ORA-01003 BeJIuKuu_Hexo4yxa SQL, базы данных 0 14.11.2011 09:41
ошибка ora-12154 blr_spy БД в Delphi 0 27.02.2011 18:04
XLM ошибка ora-31001 D-mon БД в Delphi 0 13.08.2008 14:09


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS