Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Анастасия_См Посмотреть сообщение
В чем ошибка может быть, подскажите, пожалуйста
Вам 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
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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