Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 count(*) error  [new]
SHeLEST1
Member

Откуда: Магнитогорск
Сообщений: 162
такая проблема. При выполнении вот этого кода:
declare
co_q number;
begin
select count(*) into co_q
from X_QUESTIONS
where X_QUESTIONS.ID_BANK_QUESTION=(select ID_BANK_QUESTION from X_BANK_QUESTION);
end;

срабатывает вот что:
ORA-01427: single-row subquery returns more than one row
Но причину появления сия творчества не совсем пойму...Мне нужно получить количество строк в таблице удовлетворяющих условию всего лишь...
7 июн 13, 21:11    [14408332]     Ответить | Цитировать Сообщить модератору
 Re: count(*) error  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
SHeLEST1
такая проблема. При выполнении вот этого кода:
declare
co_q number;
begin
select count(*) into co_q
from X_QUESTIONS
where X_QUESTIONS.ID_BANK_QUESTION=(select ID_BANK_QUESTION from X_BANK_QUESTION);
end;

срабатывает вот что:
ORA-01427: single-row subquery returns more than one row
Но причину появления сия творчества не совсем пойму...Мне нужно получить количество строк в таблице удовлетворяющих условию всего лишь...
select count(*) into co_q
from X_QUESTIONS
where X_QUESTIONS.ID_BANK_QUESTION = -- проблема тут
 (select ID_BANK_QUESTION from X_BANK_QUESTION);
Проблема в знаке равенства - подзапрос должен возвращать строку. Замените "=" на IN, тогда можно будет возвращать много строк, или перепишите подзапрос, чтобы он возвращал одну строку.
8 июн 13, 21:44    [14410416]     Ответить | Цитировать Сообщить модератору
 Re: count(*) error  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
rockclimber
Проблема в знаке равенства - подзапрос должен возвращать одну строку.
Поправил.
8 июн 13, 21:45    [14410417]     Ответить | Цитировать Сообщить модератору
 Re: count(*) error  [new]
SHeLEST1
Member

Откуда: Магнитогорск
Сообщений: 162
Спасибо, не знал. Исправлю
9 июн 13, 12:03    [14411183]     Ответить | Цитировать Сообщить модератору
 Re: count(*) error  [new]
SHeLEST1
Member

Откуда: Магнитогорск
Сообщений: 162
А если необходимо чтоб он несколько строк определил и в них например update Делал - только циклом осуществимо?
9 июн 13, 12:25    [14411205]     Ответить | Цитировать Сообщить модератору
 Re: count(*) error  [new]
rockclimber
Member

Откуда: у меня в голове опилки?
Сообщений: 11085
SHeLEST1
А если необходимо чтоб он несколько строк определил и в них например update Делал - только циклом осуществимо?
MERGE - наше всё!

Модератор: Тема перенесена из форума "Oracle APEX".


Сообщение было отредактировано: 11 июн 13, 09:18
9 июн 13, 13:51    [14411278]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить